From d3b520289178bbe9c252c0a2784a529b89951945 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 20 Apr 2004 04:28:00 +0000 Subject: Update. 2004-04-20 Jakub Jelinek * stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace, do input_error () instead of conv_error () and don't look at errno. Don't eat any whitespace before %% if skip_space == 0. * stdio-common/tst-sscanf.c (int_tests): New array. (main): Run int_tests. See ChangeLog.14 for earlier changes. --- ChangeLog.14 | 16759 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 16759 insertions(+) create mode 100644 ChangeLog.14 (limited to 'ChangeLog.14') diff --git a/ChangeLog.14 b/ChangeLog.14 new file mode 100644 index 0000000000..708e765084 --- /dev/null +++ b/ChangeLog.14 @@ -0,0 +1,16759 @@ +2004-04-19 Roland McGrath + + * rt/tst-mqueue9.c (do_test): Initialize RESULT. + +2004-04-19 Jakub Jelinek + + * sysdeps/unix/sysv/linux/mq_unlink.c (mq_unlink): Change EPERM into + EACCES. + * rt/Makefile (tests): Add tst-mqueue9. + * rt/tst-mqueue9.c: New test. + * rt/tst-mqueue4.c (do_test): Add test for mq_unlink of a too long + name component. + +2004-04-19 Ulrich Drepper + + * rt/tst-mqueue7.c (do_test): Make newargv const. + +2004-04-18 Randolph Chung + + * sysdeps/hppa/elf/entry.h: New file. + * sysdeps/hppa/machine-gmon.h: New file. + * sysdeps/unix/sysv/linux/hppa/profil-counter.h: Don't use x86 version. + +2004-04-18 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/rt-sysdep.c: New file. + * sysdeps/unix/sysv/linux/powerpc/Makefile (librt-routines): Add + rt-sysdep. + + * rt/tst-mqueue5.c (mqsend): Don't inline. + (mqrecv): Likewise. + + * rt/tst-timer4.c: Include . + +2004-04-17 Jakub Jelinek + + * rt/Makefile (tests): Add tst-mqueue8. + * rt/tst-mqueue8.c: New test. + + * sysdeps/unix/sysv/linux/s390/Makefile (librt-routines): Add + rt-sysdep. + * sysdeps/unix/sysv/linux/s390/rt-sysdep.S: New file. + +2004-03-26 H.J. Lu + + * sysdeps/unix/sysv/linux/wordsize-64/fxstat.c (__fxstat): Don't + use "struct kernel_stat". + +2004-04-02 H.J. Lu + + * sysdeps/ia64/memcmp.S: Fix symbol. + +2004-04-04 Carlos O'Donell + + * sysdeps/hppa/Dist: Add bits/link.h elf/entry.h. + + * sysdeps/hppa/bits/link.h: New file. + + * sysdeps/hppa/dl-machine.h (__hppa_init_bootstrap_fdesc_table): + Initialze the fdesc table for the generic code. + (elf_machine_dynamic): Use asm version. + (elf_machine_load_addresss): Simplify asm by calling + elf_machine_dynamic. + (elf_machine_fixup_plt): Correct comment. + (elf_machine_profile_fixup_plt): New. + (elf_machine_runtime_setup): Check PLT exists, if lazy=1 process + normally, else relocate all the absolute entries. + (RTLD_START): Fix comments. + (TRAMPOLINE_TEMPLATE): Reformat assembly, add return pointer for + calls to profile_fixup. + (ELF_MACHINE_SIZEOF_JMP_SLOT, DL_STATIC_FUNCTION_ADDRESS, + DL_PLATFORM_INIT): Define. + (DL_FUNCTION_ADDRESS): Remove. + (dl_platform_init): New. + (elf_machine_rela): Use generic fdesc code, and process all COPY + relocations. Use __attribute__((always_inline)). + (elf_machine_rela_relative): Add sanity checks, remove IPLT + processing, print error message in default case. Use + __attribute__((always_inline)). + (elf_machine_lazy_rel): Use __attribute__((always_inline)). + +2004-04-05 Carlos O'Donell + + * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Use only sw[0] + and call feraiseexcept. + +2003-11-15 Randolph Chung + + * gmon/gmon.c (__monstartup): Round kcountsize to multiples of + the froms[] array so the array is properly aligned. + +2004-04-05 H.J. Lu + + * Makeconfig (libgcc_eh): Add -Wl,. + + * configure.in: Add -lgcc_s for --as-needed check. + +2004-04-16 Kaz Kojima + + * sysdeps/sh/elf/configure.in: New file. + +2004-04-17 Ulrich Drepper + + * iconvdata/gconv-modules: Add PT154 and RK1048 entries. + * iconvdata/tst-tables.sh: Add PT154 and RK1048. + * iconvdata/Makefile (modules): Add PT154 anhd RK1048. + (distribute): Add pt154.c and rk1048.c. + (gen-8bit-gap-modules): Add pt154 and rk1048. + * icondata/pt154.c: New file. + * iconvdata/rk1048.c: New file. + + * rt/tst-timer4.c: Disable some tests, mark errors better. + +2004-04-16 Ulrich Drepper + + * rt/tst-mqueue6.c (mqsend): Don't inline. + (mqrecv): Likewise. + + * rt/tst-mqueue3.c (do_test): Cope with kernel without mq support. + + * sysdeps/ieee754/bits/nan.h (__nan_union): Add __attribute_used__ + attribute to keep gcc quiet. + +2004-04-16 Jakub Jelinek + + * misc/syslog.c (vsyslog): Avoid freeing failbuf. + +2004-04-15 Jakub Jelinek + + * rt/Makefile (tests): Add tst-timer4. + * rt/tst-timer4.c: New test. + +2004-04-15 Jakub Jelinek + + * rt/tst-mqueue5.c (rtmin_code): New variable. + (rtmin_handler): Set it. + (thr, do_child, do_test): Also check rtmin_code. + +2004-04-14 Jakub Jelinek + + * rt/Makefile (tests): Add tst-mqueue7. + (tst-mqueue7-ARGS): Set. + * rt/tst-mqueue7.c: New test. + +2004-04-13 Jakub Jelinek + + * rt/Makefile (tests): Add tst-mqueue5 and tst-mqueue6. + * rt/tst-mqueue1.c (do_one_test): Bitwise or check_attrs () into + result instead of replacing it. Use TEMP_FAILURE_RETRY around + waitpid, kill child if waitpid failed. + (do_test): Bitwise or check_attrs () into result instead of replacing + it. Change temp mq name. + * rt/tst-mqueue5.c: New test. + * rt/tst-mqueue6.c: New test. + * rt/tst-mqueue.h: Include stdio.h, unistd.h, sys/uio.h. + (temp_mq_list, delete_temp_mqs): Remove. + (temp_mq_fd): New variable. + (do_cleanup, do_prepare): New functions. + (add_temp_mq): Rewritten to use a temp file. + (PREPARE): Define. + (CLEANUP_HANDLER): Change to do_cleanup (). + + * rt/tst-timer3.c: Don't fail if _POSIX_THREADS is not available. + +2004-04-13 Thorsten Kukuk + + * sysdeps/s390/ffs.c: Include limits.h + +2004-04-13 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/sysdep.h (SUBSTITUTE_ARGS_1, + SUBSTITUTE_ARGS_2, SUBSTITUTE_ARGS_3, SUBSTITUTE_ARGS_4, + SUBSTITUTE_ARGS_5, SUBSTITUTE_ARGS_6, SUBSTITUTE_ARGS_7): Load + argument values into temporary variables. + +2004-04-15 Atsushi Nemoto + + * sysdeps/mips/dl-machine.h (RTLD_START): Do not use nested .end. + +2004-04-12 Ulrich Drepper + + * rt/Makefile (tests): Add tst-timer3. + * rt/tst-timer3.c: New file. By Roland McGrath. + +2004-04-08 Ulrich Drepper + + * rt/tst-mqueue3.c: New file. + * rt/Makefile (tests): Add tst-mqueue3. + +2004-04-08 Jakub Jelinek + + * rt/tst-mqueue1.c: New file. + * rt/tst-mqueue2.c: New file. + * rt/tst-mqueue4.c: New file. + * rt/Makefile (tests): Add tst-mqueue1, tst-mqueue2, tst-mqueue4. + + * rt/Versions (librt): Add mq_*@@GLIBC_2.3.4. + * rt/Makefile (headers): Add mqueue.h and bits/mqueue.h. + (mq-routines): Set. + (librt-routines): Use it. + * rt/mqueue.h: New file. + * include/mqueue.h: New file. + * sysdeps/generic/bits/mqueue.h: New file. + * sysdeps/generic/mq_setattr.c: New file. + * sysdeps/generic/mq_getattr.c: New file. + * sysdeps/generic/mq_notify.c: New file. + * sysdeps/generic/mq_close.c: New file. + * sysdeps/generic/mq_send.c: New file. + * sysdeps/generic/mq_unlink.c: New file. + * sysdeps/generic/mq_receive.c: New file. + * sysdeps/generic/mq_timedreceive.c: New file. + * sysdeps/generic/mq_timedsend.c: New file. + * sysdeps/generic/mq_open.c: New file. + * sysdeps/unix/sysv/linux/bits/local_lim.h (MQ_PRIO_MAX): Define. + * sysdeps/unix/sysv/linux/bits/mqueue.h: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Add mq_timedsend, + mq_timedreceive and mq_setattr. + * sysdeps/unix/sysv/linux/mq_getattr.c: New file. + * sysdeps/unix/sysv/linux/mq_notify.c: New file. + * sysdeps/unix/sysv/linux/mq_close.c: New file. + * sysdeps/unix/sysv/linux/mq_send.c: New file. + * sysdeps/unix/sysv/linux/mq_unlink.c: New file. + * sysdeps/unix/sysv/linux/mq_receive.c: New file. + * sysdeps/unix/sysv/linux/mq_open.c: New file. + +2004-04-09 Andreas Schwab + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL): Move + LOAD_ARGS_##nr up front and add LOAD_REGS_##nr. + (LOAD_ARGS_0, LOAD_ARGS_1, LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4) + (LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary + variables. + (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4) + (LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the + syscall argument registers. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL): Add + LOAD_REGS_##nr. + (LOAD_ARGS_0, LOAD_ARGS_1, LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4) + (LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary + variables. + (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4) + (LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the + syscall argument registers. + +2004-04-09 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Add + LOAD_REGS_##nr. + (LOAD_ARGS_0, LOAD_ARGS_1, LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4) + (LOAD_ARGS_5, LOAD_ARGS_6): Load argument values into temporary + variables. + (LOAD_REGS_0, LOAD_REGS_1, LOAD_REGS_2, LOAD_REGS_3, LOAD_REGS_4) + (LOAD_REGS_5, LOAD_REGS_6): New macros to actually load the + syscall argument registers. + +2004-04-09 Thorsten Kukuk + + * sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x. + +2004-04-09 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file. + +2004-04-08 Ulrich Drepper + + * po/nl.po: Update from translation team. + +2004-04-04 Ulrich Drepper + + * math/test-tgmath.c: Declare compile_testl inly if we will define it. + +2004-04-03 Ulrich Drepper + + * sysdeps/powerpc/powerpc64/ffsll.c: New file. + + * string/test-ffs.c: Also test ffsl and ffsll. + + * sysdeps/powerpc/ffs.c: Don't define ffsl for ppc64. + + * sysdeps/powerpc/powerpc64/bits/atomic.h: Never use matching + constraints for asm mem parameters. + * sysdeps/powerpc/bits/atomic.h: Likewise. + + * sysdeps/powerpc/elf/libc-start.c: No need for a separate + function for __aux_init_cache. + + * inet/test-ifaddrs.c: Fight warnings. + + * argp/argp-help.c: Fight warnings. + + * include/time.h: Declare __difftime. + + * sysdeps/unix/sysv/linux/internal_statvfs.c: Restructure to avoid + duplication in 64-bit version. + * sysdeps/unix/sysv/linux/wordsize-64/internal_statvfs64.c: New file. + +2004-04-03 Andreas Jaeger + + * nis/nss-nis.c: Include for strncmp. + +2004-03-30 H.J. Lu + + * Makeconfig (link-libc-static): Use $(static-gnulib) instead + of $(gnulib). + (libgcc_eh): New variable. + (gnulib): Use it variable. + (static-gnulib): New variable. + * Makerules (LDLIBS-c.so): Use $(static-gnulib) instead of $(gnulib). + * config.make.in (have-as-needed): New variable. + * configure.in: Check if linker supports --as-needed. + +2004-04-02 Ulrich Drepper + + * sysdeps/unix/sysv/linux/internal_statvfs64.c: New file. + * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): + Add internal_statvfs64. + * sysdeps/unix/sysv/linux/internal_statvfs.c: Allow to be used to + compile 64bit version. + * sysdeps/unix/sysv/linux/statvfs64.c: Use __fstatfs64 and skip + compatibility code if __ASSUME_STATFS64 is defined. + * sysdeps/unix/sysv/linux/fstatvfs64.c: Likewise. + + * sysdeps/unix/sysv/linux/statfs64.c: Don't add __no_statfs64 if + __ASSUME_STATFS64 != 0. + +2004-04-02 Thorsten Kukuk + + * nis/nss_nis/nis-ethers.c (saveit): Fix return codes in error case. + * nis/nss_nis/nis-initgroups.c (saveit): Likewise. + * nis/nss_nis/nis-proto.c (saveit): Likewise. + * nis/nss_nis/nis-rpc.c (saveit): Likewise. + * nis/nss_nis/nis-service.c (saveit): Likewise. + +2004-04-02 Jakub Jelinek + + * nis/nss: Add SERVICES_AUTHORITATIVE. + * nis/nss-nis.h (NSS_FLAG_SET, NSS_FLAG_NETID_AUTHORITATIVE, + NSS_FLAG_SERVICES_AUTHORITATIVE): Define. + (_nis_default_nss_flags, _nis_check_default_nss): New decls. + (_nis_default_nss): New inline. + * nis/nss-nis.c: Include ctype.h, stdio.h and stdio_ext.h. + (_nis_default_nss_flags, default_nss): New variables. + (_nis_check_default_nss): New function. + * nis/nss_nis/nis-initgroups.c: Don't include stdio.h and + stdio_ext.h. + (check_default_nss, default_nss): Move to nss-nis.c. + (init): Removed. + (_nss_nis_initgroups_dyn): Use _nis_default_nss (). + * nis/nss_nis/nis-services.c (_nss_nis_getservbyname_r): If + NSS_FLAG_SERVICES_AUTHORITATIVE and services.byservicename lookup + fails, return immediately. + +2004-04-01 Roland McGrath + + * elf/tst-execstack.c (do_test): Make F static. + +2004-04-01 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Use + __sigprocmask not sigprocmask. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. + + * include/string.h: Add libc_hidden_builtin_proto for memcmp. + * sysdeps/generic/memcmp.c: Add libc_hidden_builtin_def. + * sysdeps/i386/memcmp.S: Likewise. + * sysdeps/i386/i686/memcmp.S: Likewise. + * sysdeps/ia64/memcmp.S: Likewise. + * sysdeps/sparc/sparc64/memcmp.S: Likewise. + + * sysdeps/unix/sysv/linux/sigprocmask.c: Include . + * time/mktime.c: Likewise. + * misc/getpass.c: Likewise. + + * time/difftime.c (__difftime): New renamed. Make old name alias. + Use __difftime in recursive call. + + * sysdeps/unix/sysv/linux/powerpc/ioctl.c (__ioctl): Use + __tcgetattr() instead of tcgetattr(). + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S [SHARED]: + Use __GI_exit. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S [SHARED]: Use + __GI__exit. + + * sysdeps/powerpc/fpu/bits/mathinline.h: Add __signbitf and + __signbit inlines. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Use + __sigprocmask not sigprocmask. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. + + * elf/elf.h: Define more ppc64 specific dynamic tags. + +2004-04-01 Jakub Jelinek + + * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol + is NULL, instead of trying yp_match (name/tcp), yp_match (name/udp), + yp_all, try yp_match (name), yp_all. + +2004-04-01 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add handling for + ignored entries. Ignore AT_IGNOREPPC. + +2004-03-31 Andreas Jaeger + + * libio/fileops.c (new_do_write): Return _IO_size_t to make 64-bit + clean. + +2004-03-31 Ulrich Drepper + + * locale/programs/localedef.c (construct_output_path): Remove + remnants of CEN locale names. + +2004-03-30 Thorsten Kukuk + + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Add IUTF8. + * sysdeps/unix/sysv/linux/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. + +2004-03-30 Richard Henderson + + * sysdeps/alpha/remqu.S: Detect power-of-two special case. + +2004-03-30 Ulrich Drepper + + * sysdeps/generic/libc-start.c (LIBC_START_MAIN) + [HAVE_CLEANUP_JMP_BUF]: Call __nptl_deallocate_tsd. + +2004-03-30 Jakub Jelinek + + * nis/nss_nis/nis-service.c (_nss_nis_getservbyname_r): If protocol + == NULL, try name/tcp and name/udp first before falling back into + the sequential scanning. Use services.byname database for + sequential scanning. + (_nss_nis_getservbyport_r): Likewise. Just allocate sizeof (int) * 3 + chars for integer. + + * nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Convert + proto to host by order for snprintf. + +2004-03-30 Ulrich Drepper + + * nss/getent.c (services_keys): Don't implement lookups with + missing protocol using getservent loop, just pass NULL. + + * sysdeps/unix/sysv/linux/i386/setgroups.c (setgroups): Avoid + comparison with limit if we can rely on the syscall being available. + + * nis/nss_nis/nis-initgroups.c: Implement getting the information + from the netid.byname map if the system administrator allows this. + * nis/Makefile (distribute): Add nss. + * nis/nss: New file. + + * grp/initgroups.c (initgroups): Limit the initial allocation to 64 + entries to not allocate too much on systems with really high limits. + +2004-03-30 Jakub Jelinek + + * nis/nss_nis/nis-service.c (struct search_t): New type. + (dosearch): New function. + (_nss_nis_getservbyname_r): Use it. Call yp_get_default_domain + unconditionally. + (_nss_nis_getservbyport_r): Likewise. + +2004-03-29 Alexandre Oliva + + * sysdeps/unix/sysv/linux/sched_getaffinity.c: Prepend GLIBC_ to + version names is SHLIB_COMPAT check. + * sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise. + +2004-03-29 Ulrich Drepper + + * nis/nss_nis/nis-rpc.c (saveit): Improve memory handling. No need to + allocate multiple blocks. + (internal_nis_endrpcent): Adjust accordingly. + * nis/nss_nis/nis-proto.c (saveit): Improve memory handling. No need + to allocate multiple blocks. + (internal_nis_endprotoent): Adjust accordingly. + * nis/nss_nis/nis-initgroups.c (saveit): Improve memory handling. No + need to allocate multiple blocks. + (_nss_nis_initgroups_dyn): Adjust accordingly. + * nis/nss_nis/nis-ethers.c (saveit): Improve memory handling. No need + to allocate multiple blocks. + (internal_nis_endetherent): Adjust accordingly. + * nis/nss_nis/nis-service.c (saveit): Improve memory handling. No need + to allocate multiple blocks. + (internal_nis_endservent): Adjust accordingly. + + * nss/getXXbyYY_r.c: Return 0 for NSS_STATUS_NOTFOUND. + +2004-03-26 Thorsten Kukuk + + * nis/nss_nis/nis-grp.c (_nss_nis_getgrnam_r): Don't + set errno if group does not exist. + +2004-03-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle + _SC_SIGQUEUE_MAX. + +2004-03-26 Ulrich Drepper + + * elf/dl-caller.c: New file. + * include/caller.h: New file. + * Makefile (distribute): Add include/caller.h. + * elf/Makefile (dl-routines): Add dl-caller. + * elf/dl-load.c (_dl_map_object_from_fd): Record l_text_end. + * elf/dl-open.c (check_libc_caller): Removed. + (dl_open_worker): Use __check_caller instead. + * elf/rtld.c (_rtld_global_ro): Initialize _dl_check_caller. + (_dl_start_final): Record l_text_end for ld.so map. + (dl_main): Record l_text_end for main object and vdso. + * include/link.h (struct link_map): Add l_text_end field. + * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add + _dl_check_caller field. + Define enum allowmask. Add declaration of _dl_check_caller. + * sysdeps/unix/sysv/linux/dl-execstack.c: Also use __check_caller test. + +2004-03-26 Richard Henderson + + * sysdeps/alpha/Makefile (sysdep_routines): Merge divrem + variable, add unsigned variants. + * sysdeps/alpha/divrem.h: Remove file. + * sysdeps/alpha/div_libc.h: New file. + * sysdeps/alpha/divl.S: Rewrite from scratch. + * sysdeps/alpha/reml.S: Likewise. + * sysdeps/alpha/divq.S: Likewise. + * sysdeps/alpha/remq.S: Likewise. + * sysdeps/alpha/divlu.S: New file. + * sysdeps/alpha/remlu.S: New file. + * sysdeps/alpha/divqu.S: New file. + * sysdeps/alpha/remqu.S: New file. + +2004-03-26 Ulrich Drepper + + * elf/dl-open.c (check_libc_caller): Fix typo. + +2004-03-26 Jakub Jelinek + + * elf/tst-dlmodcount.c: Include stddef.h and stdlib.h. + +2003-03-25 Richard Henderson + + * sysdeps/alpha/backtrace.c: New file. + +2004-03-25 Ulrich Drepper + + * iconvdata/utf-7.c: Remove inline from isdirect, isxdirect, and + isxbase64. + +2004-03-25 Richard Henderson + + * sysdeps/generic/strtol_l.c (__strtol_ul_max_tab, + __strtol_ull_max_tab, __strtol_ull_rem_tab, __strtol_ul_rem_tab, + cutoff_tab, cutlim_tab, jmax_tab): New. + (__strtol_l): Use them to avoid runtime division. + +2004-03-24 Roland McGrath + + * Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sed + substitutions; the semicolon terminators are enough for ld anyway. + + * elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of + dynamically sized auto array in function already using alloca. + * locale/programs/ld-ctype.c (ctype_output): Likewise. + * locale/programs/ld-time.c (time_output): Likewise. + * elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for + IOV array size. + * locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa) + when also using dynamically-sized auto array. + * locale/programs/locfile.c (locfile_read): Likewise. + * locale/programs/repertoire.c (repertoire_read): Likewise. + * nis/nis_print_group_entry.c (nis_print_group_entry): Likewise. + * locale/programs/locarchive.c (enlarge_archive): Likewise. + * posix/annexc.c (check_header): Likewise. + + * iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX. + strlen ("") gets optimized away just as well. + * intl/loadmsgcat.c (_nl_init_domain_conv): Update caller. + * wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise. + + * Makefile ($(objpfx)c++-types-check.out): Reduce duplication in + defining this target. Also elide -Wstrict-prototypes from CFLAGS. + +2004-03-24 Ulrich Drepper + + * stdio-common/vfscanf.c [!COMPILE_WSCANF] (TOLOWER): Cast first + parameter to unsigned char. + * sysdeps/generic/strcasestr.c [_LIBC] (TOLOWER): Likewise. + +2004-03-24 Jakub Jelinek + + * stdlib/strtod_l.c (INTERNAL (__STRTOF)): Clear the rest of retval, + not just one limb if RETURN_LIMB_SIZE > 2. Fix shifting up if + RETURN_LIMB_SIZE > 2. + + * stdio-common/printf_fp.c (__printf_fp): For IEEE quad long double + on 32-bit architectures reserve 8 limbs instead of 4. + +2004-03-23 Jakub Jelinek + + * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_pread, __NR_pwrite): + Define to __NR_p{read,write}64 if not defined. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread, + __NR_pwrite): Define to __NR_p{read,write}64 if not defined instead + of defining it the other way around. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Move common syscalls + for 64bit arches to sysdeps/unix/sysv/linux/wordsize-64/syscalls.list. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/alpha/pread64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/glob64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/truncate64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/xstat64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/pwrite64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: Removed. + * sysdeps/unix/sysv/linux/alpha/mmap64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/fxstat64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/ftruncate64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/sendfile64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/lxstat64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/statfs64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/fstatfs64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: Removed. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/pread64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/glob64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/readdir64_r.c: Removed. + * sysdeps/unix/sysv/linux/ia64/truncate64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/xstat64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/pwrite64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/getdents64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/readdir_r.c: Removed. + * sysdeps/unix/sysv/linux/ia64/lxstat.c: Removed. + * sysdeps/unix/sysv/linux/ia64/readdir.c: Removed. + * sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: Removed. + * sysdeps/unix/sysv/linux/ia64/mmap64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/xstat.c: Removed. + * sysdeps/unix/sysv/linux/ia64/fxstat64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/ftruncate64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/sendfile64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/getdents.c: Removed. + * sysdeps/unix/sysv/linux/ia64/lxstat64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/readdir64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/fxstat.c: Removed. + * sysdeps/unix/sysv/linux/ia64/statfs64.c: Removed. + * sysdeps/unix/sysv/linux/ia64/fstatfs64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/pread64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/glob64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/truncate64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/xstat64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/pwrite64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/getdents64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/readdir_r.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/lxstat.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/readdir.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/mmap64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/xstat.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/fxstat64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/sendfile64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/getdents.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/lxstat64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/readdir64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/fxstat.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/statfs64.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/Implies: New file. + * sysdeps/unix/sysv/linux/alpha/getdents64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/Implies: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/Implies: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/pread64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/glob64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/truncate64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/xstat64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/lxstat.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/readdir.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/mmap64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/xstat.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/getdents.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/statvfs.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/wordsize-64/fxstat.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/statfs64.c: New file. + * sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c: New file. + * sysdeps/unix/sysv/linux/ia64/Implies: New file. + * sysdeps/unix/sysv/linux/x86_64/Implies: New file. + +2004-03-22 Richard Henderson + + * sysdeps/alpha/s_fabs.S: Remove file. + * sysdeps/alpha/s_copysign.S: Remove file. + +2004-03-22 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c + (__getpagesize): Avoid warning about writing into read-only memory. + + * string/Makefile (routines): Add xpg-strerror. + * string/string.h (strerror_r): If __USE_XOPEN2K but not __USE_GNU, + redirect strerror_r to __xpg_strerror_r. + * string/Versions (libc): Add __xpg_strerror_r@@GLIBC_2.3.4. + * sysdeps/generic/xpg-strerror.c: New file. + * sysdeps/mach/xpg-strerror.c: New file. + +2004-03-22 Joseph S. Myers + + * sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): Do not use + casts as lvalues. + +2004-03-22 Andreas Jaeger + + * elf/tst-dlmodcount.c (unload): Remove unused variable. + + * misc/tst-mntent.c (main): Use tmpfile instead of tmpnam. + +2004-03-20 Roland McGrath + + * sysdeps/mach/hurd/dl-execstack.c: New file. + +2004-03-20 Ulrich Drepper + + * po/ca.po: Update from translation team. + +2004-03-20 Andreas Jaeger + + * sysdeps/unix/sysv/linux/sched_getaffinity.c + (__sched_getaffinity_old): Fix interface. + * sysdeps/unix/sysv/linux/sched_setaffinity.c + (__sched_setaffinity_old): Likewise. + + * sysdeps/unix/sysv/linux/sched_setaffinity.c: Include . + +2004-03-17 Kaz Kojima + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS ): Define for newer SH kernel. + (__ASSUME_TGKILL, __ASSUME_UTIMES): Likewise. + * sysdeps/unix/sysv/linux/sh/socket.S: Add unwind information. + +2004-03-19 Ulrich Drepper + + * time/tzfile.c (__tzfile_default): Correct setting of rule_stdoff + and rule_dstoff after reading the posixrules file. + +2004-03-18 Ulrich Drepper + + * malloc/malloc.c (__posix_memalign): Correct alignment check. + Reported by Don Heller . + +2004-03-18 Jakub Jelinek + + * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Remove hwcap + variable and weak_extern for _dl_hwcap. + (_DL_HWCAP_TLS_MASK): Define. + (HWCAP_CHECK): Fix checking of non-platform hwcap bits. Use + lib->osversion instead of cache_new->libs[middle].osversion. + + * stdio-common/asprintf.c: Remove USE_IN_LIBIO conditionals. + * stdio-common/dprintf.c: Likewise. + * stdio-common/fprintf.c: Likewise. + * stdio-common/getline.c: Likewise. + * stdio-common/getw.c: Likewise. + * stdio-common/perror.c: Likewise. + * stdio-common/printf-prs.c: Likewise. + * stdio-common/printf.c: Likewise. + * stdio-common/printf_size.c: Likewise. + * stdio-common/psignal.c: Likewise. + * stdio-common/putw.c: Likewise. + * stdio-common/scanf.c: Likewise. + * stdio-common/snprintf.c: Likewise. + * stdio-common/sprintf.c: Likewise. + * stdio-common/sscanf.c: Likewise. + * stdio-common/tstgetln.c: Likewise. + * stdio-common/vfprintf.c: Likewise. + +2004-03-18 Paul Eggert + + * posix/getopt.h (__GNUC_PREREQ) [!defined __THROW]: Define + if not defined, fixing a typo (it used to be defined if + __GNUC__ was not defined). + +2004-03-18 Ulrich Drepper + + * posix/sched.h: Change sched_getaffinity and sched_setaffinity + interfaces: add new second parameter. + * sysdeps/generic/sched_getaffinity.c: Implement interface change. + * sysdeps/generic/sched_setaffinity.c: Likewise. + * sysdeps/unix/sysv/linux/sched_getaffinity.c: Likewise. Add + compatibility interface. + * sysdeps/unix/sysv/linux/sched_setaffinity.c: Likewise. + * sysdeps/unix/sysv/linux/Versions: Add versions for changed + interfaces. + +2004-03-18 Roland McGrath + + * manual/Makefile (stamp-summary): Use -k option to sort, + not traditional key selection syntax. + Reported by Jim Gifford . + +2004-03-18 Jakub Jelinek + + * elf/ldconfig.c: Include stdbool.h. + +2004-03-18 Roland McGrath + + * elf/ldconfig.c (parse_conf_include): New function. + (parse_conf): Call it to parse lines starting with "include". + Remaining words are glob patterns for more config files to read. + Take additional bool argument to disable opt_chroot processing. + (main): Update caller. + +2004-03-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/ioperm.c (_iopl): Match EPERM error + the x86 code produces in case of mission permissions. + Patch by Bernd Schmidt . + + * resolv/netdb.h: Define AI_IDN_ALLOW_UNASSIGNED, + AI_IDN_USE_STD3_ASCII_RULES, NI_IDN_ALLOW_UNASSIGNED, and + NI_IDN_USE_STD3_ASCII_RULES. + * inet/getnameinfo.c (getnameinfo): Implement handling of + NI_IDN_ALLOW_UNASSIGNED and NI_IDN_USE_STD3_ASCII_RULES. + * sysdeps/posix/getaddrinfo.c (gaih_inet): Implement handling of + AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES. + +2004-03-17 Jakub Jelinek + + * sysdeps/x86_64/hp-timing.h (HP_TIMING_NOW): Make asm volatile. + +2004-03-16 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Spelling. + (JB_SIZE): Undefine before including __longjmp-common.S again. + * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Spelling. + (JB_SIZE): Undefine before including setjmp-common.S again. + * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Spelling. + * sysdeps/powerpc/powerpc64/bsd-setjmp.S: Spelling. + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Spelling. + * sysdeps/powerpc/powerpc32/bsd-setjmp.S: Spelling. + * sysdeps/powerpc/sigjmp.c: Spelling. + +2004-03-16 Ulrich Drepper + + * include/ctype.h: For libc, define isdigit, isdigit_l, and + __isdigit_l as simple comparison macros. + * include/wctype.h: For libc, define iswdigit, iswdigit_l, and + __iswdigit_l as simple comparison macros. + * wctype/wcfuncs_l.c: #undef iswdigit and __iswdigit. + +2004-03-15 Ulrich Drepper + + * sysdeps/sparc/fpu/bits/mathinline.h: Restore missing #ifdef. + Patch by Richard Henderson. + +2004-03-16 Jakub Jelinek + + * sysdeps/generic/strtold_l.c (STRING_TYPE, STRTOLD, __STRTOLD, + __STRTOD, INTERNAL, INTERNAL1): Define, use them. + [! USE_WIDE_CHAR] (INTERNAL (__STRTOLD)): Add libc_hidden_def. + + * inet/getnameinfo.c: Include stdlib.h. + +2004-03-15 Richard Henderson + + * math/Makefile (headers): Add bits/huge_valf.h, bits/huge_vall.h, + and bits/inf.h. + * math/math.h: Include them. + + * sysdeps/alpha/fpu/bits/mathdef.h: Remove INFINITY. + * 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/mips/fpu/bits/mathdef.h: Likewise. + * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise. + * sysdeps/sh/sh4/fpu/bits/mathdef.h: Likewise. + * sysdeps/sparc/fpu/bits/mathdef.h: Likewise. + * sysdeps/x86_64/fpu/bits/mathdef.h: Likewise. + + * sysdeps/arm/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val. + (HUGE_VALF, HUGE_VALL): Remove. + * sysdeps/ieee754/bits/huge_val.h: Likewise. + * sysdeps/sh/bits/huge_val.h: Likewise. + + * sysdeps/generic/bits/huge_val.h (HUGE_VAL): Use __builtin_huge_val. + * sysdeps/generic/bits/huge_valf.h: New file. + * sysdeps/generic/bits/huge_vall.h: New file. + * sysdeps/generic/bits/inf.h: New file. + * sysdeps/ieee754/bits/huge_valf.h: New file. + * sysdeps/ieee754/bits/inf.h: New file. + * sysdeps/i386/bits/huge_val.h: Remove file. + * sysdeps/i386/bits/huge_vall.h: New file. + * sysdeps/ia64/bits/huge_val.h: Remove file. + * sysdeps/ia64/bits/huge_vall.h: New file. + * sysdeps/ieee754/ldbl-128/bits/huge_vall.h: New file. + * sysdeps/m68k/bits/huge_val.h: Remove file. + * sysdeps/m68k/bits/huge_vall.h: New file. + * sysdeps/s390/bits/huge_val.h: Remove file. + * sysdeps/sh/sh4/fpu/bits/huge_val.h: Remove file. + * sysdeps/sparc/bits/huge_vall.h: New file. + * sysdeps/sparc/sparc32/fpu/bits/huge_val.h: Remove file. + * sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Remove file. + + * sysdeps/ieee754/bits/nan.h (NAN): Use __builtin_nanf. + * sysdeps/mips/bits/nan.h (NAN): Likewise. + +2004-03-15 Ulrich Drepper + + * iconv/gconv_simple.c (__gconv_transform_utf8_internal): Use only + one copy of error handling code. + + * stdio-common/vfscanf.c: Simplify error handling macros. Use + direct locale access functions. + + * sysdeps/generic/strcasestr.c (__strcasestr): Optimize use of + tolower function. + +2004-03-13 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add const. + (handle_amd): New function. + (__sysconf): Handle _SC_LEVEL4_CACHE_LINESIZE here, not in + linux_sysconf. Call handle_amd on AuthenticAMD. + * sysdeps/unix/sysv/linux/x86_64/sysconf.c: Likewise. + +2004-03-14 Ulrich Drepper + + * wcsmbs/mbsrtowcs.c: Just a wrapper around __mbsrtowcs_l. + * wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Add real implementation here. + + Make the non-_l functions wrappers around the _l functions. + * include/monetary.h: Declare __vstrmon_l. + * include/string.h: Add libc_hidden_proto for __strcoll_l and + __strxfrm_l. + * include/time.h: Define ptime_locale_status. Declare + __strptime_internal. + * include/wchar.h: Add libc_hidden_proto for __wcscoll_l and + __wcsxfrm_l. + * stdlib/strfmon.c: Move the code to strfmon_l.c. Add little + wrapper around __vstrfmon_l. + * stdlib/strfmon_l.c: Add real implementation. Split into new + function __vstrfmon_l to allow calling it from strfmon. + * stdlib/strtod.c: Move real code to strtod_l.c and add wrapper. + * stdlib/strtod_l.c: Add real implementation. + * stdlib/strtof.c: Adjust to changed strtod.c. + * stdlib/strtof_l.c: Include strtod_l.c now. + * stdlib/strtold.c: New file. + * stdlib/strtold_l.c: Removed. + * string/strcoll.c: Move real code to strcoll_l.c: Add wrapper. + * string/strcoll_l.c: Add real implementation. + * string/strxfrm.c: Move real code to strxfrm_l.c: Add wrapper. + * string/strxfrm_l.c: Add real implementation. + * sysdeps/generic/strtol.c: Move real implementation to strtol_l.c. + Add wrappers. + * sysdeps/generic/strtol_l.c: Add real implementation. + * sysdeps/generic/strtold.c: Removed. + * sysdeps/generic/strtold_l.c: New file. + * sysdeps/generic/strtoll_l.c: Include strtol_l.c now. Adjust + #defines. + * sysdeps/generic/strtoul_l.c: Likewise. + * sysdeps/generic/strtoull_l.c: Likewise. + * sysdeps/generic/wcstol_l.c: Likewise. + * sysdeps/generic/wcstoll_l.c: Likewise. + * sysdeps/generic/wcstoul_l.c: Likewise. + * sysdeps/generic/wcstoull_l.c: Likewise. + * sysdeps/ieee754/ldbl-128/strtold.c: Removed. + * sysdeps/ieee754/ldbl-128/strtold_l.c: New file. + * sysdeps/ieee754/ldbl-96/strtold.c: Removed. + * sysdeps/ieee754/ldbl-96/strtold_l.c: New file. + * sysdeps/m68k/strtold.c: Removed. + * sysdeps/m68k/strtold_l.c: New file. + * time/strftime.c: Move real code to strftime_l.c. Add wrapper. + * time/strftime_l.c: Add real implementation. + * time/strptime.c: Move real code to strptime_l.c. Add wrapper. + * time/strptime_l.c: Add real implementation. + * time/wcsftime.c: Simplify since only wrappers are defined in + strftime.c. + * time/wcsftime_l.c: Include strftime_l.c. + * wcsmbs/wcscoll.c: Simplify since the file is not used by wcscoll_l.c + anymore. + * wcsmbs/wcscoll_l.c: Include strcoll_l.c. + * wcsmbs/wcsxfrm.c: Simplify since the file is not used by wcsxfrm_l.c + anymore. + * wcsmbs/wcsxfrm_l.c: Include strxfrm_l.c. + * wcsmbs/wcstod.c: Prepare to include new strtod.c. + * wcsmbs/wcstod_l.c: Include strtod_l.c. + * wcsmbs/wcstof.c: Prepare to include new strtof.c. + * wcsmbs/wcstof_l.c: Include strtof_l.c. + * wcsmbs/wcstold.c: Prepare to include new strtold.c. + * wcsmbs/wcstold_l.c: Include strtold_l.c. + + * locale/uselocale.c: Use _NL_CURRENT_LOCALE instead of __libc_tsd_get. + + * sysdeps/generic/strcasecmp.c: Optimize a bit. It's better to get + a reference to the current locale and then use the _l functions. + * sysdeps/generic/strncase.c: Likewise. + +2004-03-11 Jeroen Dekkers + + * cppflags-iterator.mk: Change libof-$(cpp-src) to + libof-$(notdir $(cpp-src)). + +2004-03-13 Ulrich Drepper + + * resolv/netdb.h (EAI_OVERFLOW): Define. + (NI_IDN): Define. + * inet/getnameinfo.c (getnameinfo): Return error in case argument + buffers overflow. Implement NI_IDN. + +2004-03-12 Ulrich Drepper + + * resolv/netdb.h: Define AI_CANONIDN. + * sysdeps/posix/getaddrinfo.c: Implement AI_CANONIDN. + +2004-03-12 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/select.S: Fix unwind. Propagate + oldvalue from CENABLE to CDISABLE. + +2004-03-12 Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/sysconf.c: New file. + + * sysdeps/unix/sysv/linux/bits/local_lim.h: Define HOST_NAME_MAX. + + * posix/getconf.c (vars): Add _SC_ values for cache information. + * sysdeps/generic/bits/confname.h: Add _SC_* values for cache + information. + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Reorganize to + allow yet another sysconf function to include the one in this file. + * sysdeps/unix/sysv/linux/i386/sysconf.c: New file. + * sysdeps/generic/sysconf.c: Add default handling for cache line info. + +2004-03-11 Ulrich Drepper + + * sysdeps/posix/sysconf.c (__sysconf): Add missing support for + some _SC_* values. + +2004-03-10 Chris Heath + + * iconvdata/gconv.map: Add gconv_end (fixes memory leak). + +2004-03-11 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/__longjmp.S (JB_SIZE): Undefine before + including __longjmp-common.S again. + * sysdeps/powerpc/powerpc64/__longjmp.S (JB_SIZE): Likewise. + * sysdeps/powerpc/powerpc32/setjmp.S (JB_SIZE): Undefine before + including setjmp-common.S again. + * sysdeps/powerpc/powerpc64/setjmp.S (JB_SIZE): Likewise. + * sysdeps/powerpc/novmxsetjmp.h (__novmx__longjmp): Fix type of + first argument in the prototype. + * sysdeps/powerpc/longjmp.c (__vmx__longjmp, __vmx__libc_longjmp): + Remove bogus semicolons. + + * sysdeps/s390/dl-tls.h: Only add __tls_get_offset assembly if + IS_IN_rtld. + (__TLS_GET_ADDR): Use __tls_get_offset, not __tls_get_addr. + +2004-03-11 Ulrich Drepper + + * resolv/ns_ttl.c: Don't add ns_parse_ttl for libresolv.so. + +2004-03-10 Ulrich Drepper + + * sysdeps/generic/errno.c: Include . Use + RTLD_PRIVATE_ERRNO to decide whether errno compat symbols are needed. + + * elf/dl-sym.c: Unify _dl_sym and _dl_vsym code and make the entry + points wrappers around the unified code. + +2004-03-11 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/kernel_stat.h (kernel_stat64): New. + (glibc21_stat): New. + * sysdeps/unix/sysv/linux/alpha/fxstat.c: New file. + * sysdeps/unix/sysv/linux/alpha/lxstat.c: New file. + * sysdeps/unix/sysv/linux/alpha/xstat.c: New file. + * sysdeps/unix/sysv/linux/alpha/xstatconv.c (__xstat_conv): Add + code for _STAT_VER_GLIBC2_3_4. + (__libc_missing_axp_stat64): New. + * sysdeps/unix/sysv/linux/alpha/xstatconv.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/stat.h (__ST_TIME): New. + (_STAT_VER_GLIBC2_3_4, _STAT_VER_KERNEL64): New. + (struct stat, struct stat64): Update to new format. + (_STATBUF_ST_NSEC): New. + +2004-03-11 Jakub Jelinek + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S + (__novec_swapcontext): Branch to novec_* labels. + +2004-03-10 Ulrich Drepper + + * posix/getopt.c (_): Don't define here for glibc. + +2004-03-10 Jakub Jelinek + + * include/libc-symbols.h [__ASSEMBLY__] (compat_text_section, + compat_data_section): Define. + * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add + attribute_compat_text_section. + * sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise. + * sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob, + __old_globfree): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c + (__posix_fadvise64_l32): Likewise. + * sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c + (__posix_fadvise64_l32): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl): + Likewise. + * sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise. + * sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32): + Likewise. + * sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise. + * hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S + (__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END. + (__novec_swapcontext, __swapcontext_stub): Add compat_text_section. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S + (__makecontext_stub): Likewise. + (__novec_makecontext): Likewise. Fix name in END () to match + function name. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S + (__setcontext): Use END instead of PSEUDO_END. + (__novec_setcontext): Add compat_text_section. Use END instead of + PSEUDO_END, fix the name in END () to match function name. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S + (__getcontext, __novec_getcontext): Use END instead of PSEUDO_END. + (__novec_getcontext, __getcontext_stub): Add compat_text_section. + +2004-03-10 Kaz Kojima + + * sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate. + (COPY_UNALIGNED_WORD): Remove cast used as lvalue. + +2004-03-10 Ulrich Drepper + + * sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2. + +2004-03-10 Richard Henderson + + * sysdeps/generic/errno.c: Disable versioning for rtld. + + * sysdeps/generic/Makefile (elf/shared): Add unwind-pe. + * sysdeps/generic/unwind-pe.c: New file. + * sysdeps/generic/unwind-pe.h: Only prototypes for _LIBC without + _LIBC_DEFINITIONS. + +2004-03-10 Ulrich Drepper + + * include/libc-symbols.h: Define attribute_compat_text_section and + attribute_compat_data_section. + * io/ftw.c: Mark compat code with attribute_compat_text_section. + * libio/iofopncook.c: Likewise. + * libio/oldfileops.c: Likewise. + * libio/oldiofclose.c: Likewise. + * libio/oldiofdopen.c: Likewise. + * libio/oldiofgetpos.c: Likewise. + * libio/oldiofgetpos64.c: Likewise. + * libio/oldiofopen.c: Likewise. + * libio/oldiofsetpos.c: Likewise. + * libio/oldiofsetpos64.c: Likewise. + * libio/oldiopopen.c: Likewise. + * libio/oldpclose.c: Likewise. + * libio/oldtmpfile.c: Likewise. + * nptl/forward.c: Likewise. + * nss/getXXbyYY_r.c: Likewise. + * nss/getXXent_r.c: Likewise. + * posix/tst-vfork1.c: Likewise. + * stdlib/canonicalize.c: Likewise. + * stdlib/old_atexit.c: Likewise. + * sysdeps/generic/glob.c: Likewise. + * sysdeps/posix/posix_fallocate64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. + * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise. + * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. + * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise. + * posix/regexec.c: Likewise. + + * sysdeps/unix/sysv/linux/i386/syscalls.list: vm86@@GLIBC_2.3.4 + should be the default symbol. Having none misses the point. + +2004-03-09 Ulrich Drepper + + * stdlib/qsort.c (_quicksort): Initialize first stack element [BZ #16]. + +2004-03-05 Jakub Jelinek + + * posix/regexec.c (regexec): Return with error on unknown eflags. + Replace weak_alias with versioned_symbol. + (__compat_regexec): New. + * posix/Versions (libc): Add regexec@GLIBC_2.3.4. + +2004-03-09 Richard Henderson + + * math/math.h (isgreater, isgreaterequal, isless, islessequal, + islessgreater, isunordered): Use builtins if available. + * sysdeps/i386/fpu/bits/mathinline.h: Don't define via builtins. + * sysdeps/m68k/fpu/bits/mathinline.h: Likewise. + * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. + * sysdeps/sparc/fpu/bits/mathinline.h: Likewise. + * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. + * sysdeps/alpha/fpu/bits/mathinline.h (isgreater, isgreaterequal, + isless, islessequal, islessgreater): Remove; use default. + (isunordered): Convert inputs to double. + +2004-02-09 Jakub Jelinek + + * posix/Makefile (tests): Add tst-vfork2. + * posix/tst-vfork1.c (do_test): Fix comment. + * posix/tst-vfork2.c: New test. + +2004-03-09 Ulrich Drepper + + * elf/dl-lookup.c (_dl_lookup_symbol_x): Fix possible NULL pointer + derefernce in error message. Pretty printing. + + * po/nl.po: Update from translation team. + +2004-03-08 Andreas Schwab + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't truncate + sysinfo pointer value. + +2004-03-08 Paul Eggert + + Merge from gnulib. We now assume C89 or better. + * posix/getopt1.c (const): Remove. + * posix/getopt.c (const): Likewise. + * posix/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only, + _getopt_long_only_r, main): Use prototypes, not old-style definitions. + * posix/getopt.c (exchange, _getopt_initialize, _getopt_internal_r, + _getopt_internal, getopt, main): Likewise. + * posix/getopt.h (getopt, getopt_long, getopt_long_only): Likewise. + * posix/getopt.c [!defined VMS || !HAVE_STRING_H]: + Include regardless. No need for . + [!defined _LIBC]: Include "gettext.h" rather than rolling it ourselves. + (_): Define to gettext always. + (my_index): Remove: all uses changed to strchr. + (strlen): Remove declaration. + * posix/getopt.h (struct option.name): Always const char *. + +2004-03-08 Marcus Brinkmann + + * posix/getopt.h (_getopt_internal): Move to ... + * posix/getopt_int.h: ... here. New file. + * include/getopt_int.h: New file. + * include/getopt.h: Remove libc_hidden_proto for getopt_long + and getopt_long_only. + * posix/getopt1.c: Include "getopt_int.h". Remove + libc_hidden_def for getopt_long and getopt_long_only. + (_getopt_long_r, _getopt_long_only_r): New functions. + * posix/getopt.c: Include "getopt_int.h". + (__getopt_initialized): Variable removed. + (nextchar, ordering, posixly_correct, first_nonopt, last_nonopt): + Static variables removed. + (nonoption_flags_max_len, nonoption_flags_len) [_LIBC && + USE_NONOPTION_FLAGS]: Static variables removed. + (getopt_data): New static variable. + (SWAP_FLAGS): Use d->__nonoption_flags_len instead + nonoption_flags_len. + (exchange): Add new argument D of type struct getopt_data *. + Replace optind with d->optind, optarg with d->optarg, opterr with + d->opterr, optopt with d->optopt, nextchar with d->__nextchar, + first_nonopt with d->__first_nonopt, last_nonopt with + d->__last_nonopt, d->ordering with d->__ordering, + d->posixly_correct with d->__posixly_correct (which is now an + int instead a string, so fix users), nonoption_flags_len + with d->__nonoption_flags_len, nonoption_flags_max_len with + d->__nonoption_flags_max_len. + (_getopt_initialize): Likewise. + (_getopt_internal): Rename to ... + (_getopt_internal_r): ... this. Also add new argument D of type + struct getopt_data * and use of members of D rather than global or + static variables as described for exchange() above. Add new argument + to invocations of _getopt_initialize and exchange. + (_getopt_internal): Reimplement in terms of _getopt_internal_r. + * argp/argp-parse.c: Include . + [_LIBC]: Do not include . + [!_LIBC && HAVE_CTHREADS_H]: Do not include . + [!_LIBC] (_argp_hang): Make static. + (getopt_lock, LOCK_GETOPT, UNLOCK_GETOPT): Remove. + (_argp_unlock_xxx): Remove. + (parser_init): Do not use LOCK_GETOPT. + (parser_finalize): Do not use UNLOCK_GETOPT. + (struct parser): New member OPT_DATA. + (parser_init): Initialize parser->opt_data. Use + parser->opt_data.opterr instead of opterr. + (parser_parse_opt): Use parser->opt_data.optarg instead optarg. + (parser_parse_next): Likewise. Use parser->opt_data.optind + instead optind. Use parser->opt_data.optopt instead of optopt. + Call _getopt_long_only_r and _getopt_long_r instead of + getopt_long_only and getopt_long, and pass the extra argument. + +2004-03-09 Ulrich Drepper + + * iconv/gconv_db.c: Don't define lock as static. Rename to + __gconv_lock and export from the file. + * iconv/gconv_int.h: Declare __gconv_lock. + * libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock + before __gconv_release_step calls. + Patch by Shunichi Sagawa . + + * iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change. + + * posix/Makefile (tests): Add tst-vfork1. + * posix/tst-vfork1.c: New file. + +2004-03-08 Ulrich Drepper + + * sysdeps/i386/dl-machine.h: Define ARCH_FIXUP_ATTRIBUTE and use + it in the fixup function declarations. + * elf/dl-runtime.c: If ARCH_FIXUP_ATTRIBUTE is not defined, + provide dummy definition. Use macro in fixup function + definitions. + + * sysdeps/unix/sysv/linux/i386/vfork.S: If SAVE_PID and + RESTORE_PID are defined, use it. + * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise. + + * sysdeps/posix/gai_strerror.c: Add error string for EAI_IDN_ENCODE. + + * Makerules: Use extra-modules.mk if modules-names is defined. + * extra-modules.mk: New file. + * dlfcn/Makefile (CPPFLAGS-modcxaatexit.c): Removed. + * elf/Makefile (CFLAGS-interp.c): Add -DNOT_IN_libc=1. + * csu/Makefile ($(objpfx)version-info.h): Pass -DNOT_IN_libc=1 to + compiler. + * Makefile (distribute): Add symbol-hacks.h and extra-modules.mk. + * sysdeps/generic/symbol-hacks.h: New file. + * sysdeps/wordsize-32/symbol-hacks.h: New file. + * sysdeps/wordsize-32/divdi3.c: Define *_internal aliases for __divdi3, + __moddi3, __udivdi3, and __umoddi3. + * include/libc-symbols.h: Include . + +2004-03-08 Jeroen Dekkers + + * elf/rtld.c (_rtld_global_ro) [MAP_COPY]: Don't set _dl_unload_cache. + + * sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps): + Don't use INTUSE with _dl_signal_error. + +2004-03-08 Ulrich Drepper + + * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow): + Don't use INTUSE with _dl_signal_error. + +2004-03-08 Richard Henderson + + * sysdeps/alpha/soft-fp/ots_cvtxt.c (_OtsConvertFloatXT): Fix typo + in name. + +2004-03-07 Ulrich Drepper + + * config.h.in: Add entry for HAVE_LIBIDN. + * configure.in: If libidn add-on present define HAVE_LIBIDN. + * Versions.def: Add entry for libcidn. + +2004-03-07 Simon Josefsson + + * resolv/netdb.h [__USE_GNU]: Add new AI_IDN ai_flags for addrinfo. + [__USE_GNU]: Add new error code EAI_IDN_ENCODE for getaddrinfo. + * sysdeps/posix/getaddrinfo.c: Add prototype for __idna_to_ascii_lz + and define IDNA_SUCCESS. + (gaih_inet): If ai_flags have AI_IDN, invoke __idna_to_ascii_lz. + (getaddrinfo): Fix EAI_BADFLAGS test to include AI_IDN. + All changes only applicable when glibc is compiled with the libidn + add-on. + +2004-03-07 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Call + _dl_lookup_symbol_x not _dl_lookup_symbol. + + * sysdeps/powerpc/elf/rtld-global-offsets.sym: Adjust for moving + _dl_hwcap into _rtld_global_ro. + * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. + * sysdeps/powerpc/powerpc64/__longjmp-common.S: Likewise. + * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. + +2004-03-07 Andreas Schwab + + * elf/dl-sym.c: Include only when USE_TLS. + +2004-03-07 Andreas Jaeger + + * iconvdata/iso-2022-cn-ext.c (BODY): Remove cast used as lvalue. + * iconvdata/tcvn5712-1.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/tscii.c (EMIT_SHIFT_TO_INIT): Likewise. + +2004-03-07 Ulrich Drepper + + * sysdeps/generic/ldsodefs.h: Move _dl_initial_searclist, + _dl_hp_timing_overhead, _dl_init_all_dirs, and the content of + dl-procinfo.c from _rtld_global to _rtld_global_ro. + * elf/rtld.c: Adjust initializer for _rtld_global_ro. + * elf/dl-close.c: Use GLRO instead of GL where appropriate. + * elf/dl-libc.c: Likewise. + * elf/dl-load.c: Likewise. + * sysdeps/i386/dl-procinfo.h: Likewise. + * sysdeps/i386/i686/hp-timing.h: Likewise. + * sysdeps/ia64/hp-timing.h: Likewise. + * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise. + * sysdeps/sparc/sparc64/hp-timing.h: Likewise. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. + * string/test-string.h: Define GLRO. + +2004-03-06 Ulrich Drepper + + * elf/dl-lookup.c: We don't need for specialized lookup functions. + Combining the functionality does not slow down relocation processing, + it might even speed it up a little. + * sysdeps/generic/ldsodefs.h: Adjust prototypes for lookup function. + Add only one function pointer to rtlf_global_ro. + * elf/do-lookup.h: Replace #ifs with ifs. + * elf/dl-libc.c: Adjust _dl_lookup_* callers. + * elf/dl-reloc.c: Likewise. + * elf/dl-runtime.c: Likewise. + * elf/dl-sym.c: Likewise. + * elf/rtld.c: Likewise. Adjust _rtld_global_ro initialization. + +2004-03-06 Richard Henderson + + * sysdeps/generic/ldsodefs.h (__rtld_local_attribute__, + __rtld_global_attribute__): Undef after use. + (_rtld_local_ro): Define __rtld_local_attribute__ with just hidden + if available. + + * soft-fp/quad.h (union _FP_UNION_Q): Add longs structure. + * sysdeps/alpha/Implies: Add alpha/soft-fp. + * sysdeps/alpha/soft-fp/sfp-machine.h: Rewrite for GEM interface. + * sysdeps/alpha/Subdirs: New file. + * sysdeps/alpha/soft-fp/Makefile: New file. + * sysdeps/alpha/soft-fp/Versions: New file. + * sysdeps/alpha/soft-fp/local-soft-fp.h: New file. + * sysdeps/alpha/soft-fp/ots_add.c: New file. + * sysdeps/alpha/soft-fp/ots_cmp.c: new file. + * sysdeps/alpha/soft-fp/ots_cmpe.c: New file. + * sysdeps/alpha/soft-fp/ots_cvtqux.c: New file. + * sysdeps/alpha/soft-fp/ots_cvtqx.c: New file. + * sysdeps/alpha/soft-fp/ots_cvttx.c: New file. + * sysdeps/alpha/soft-fp/ots_cvtxq.c: New file. + * sysdeps/alpha/soft-fp/ots_cvtxt.c: New file. + * sysdeps/alpha/soft-fp/ots_div.c: New file. + * sysdeps/alpha/soft-fp/ots_mul.c: New file. + * sysdeps/alpha/soft-fp/ots_nintxq.c: New file. + * sysdeps/alpha/soft-fp/ots_sub.c: New file. + +2004-03-06 Ulrich Drepper + + * configure.in: Recognize --enable-bind-now. + * elf/dynamic-link.h (elf_get_dynamic_info): Allow bind-now flags + in ld.so. + * Makerules (LDFLAGS-c.so): Add -z now if so configured. + * elf/Makefile ($(objpfx)ld.so): Likewise. + * config.make.in (bind-now): New definition. + + * elf/dl-fini.c (_dl_fini): Combine _dl_debug_printf calls. + * elf/rtld.c (print_statistics): Likewise. + + * elf/dl-open.c: No need to pass any parameter to _dl_start_profile. + They are the same in both places. + * elf/dl-profile.c: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + * elf/dl-support.c: Define _dl_profile_output variable. Initialize it. + +2004-03-05 Ulrich Drepper + + * elf/Versions: Remove functions which are not exported anymore. + * dlfcn/dlerror.c: Call ld.so functions through GLSO. + * dlfcn/dlinfo.c: Likewise. + * elf/dl-close.c: Likewise. + * elf/dl-libc.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/dl-sym.c: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + * elf/dl-debug.c: Remove *_internal definition. Don't use INTUSE for + functions which are not exported anymore. + * elf/dl-deps.c: Likewise. + * elf/dl-dst.h: 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-misc.c: Likewise. + * elf/dl-profile.c: Likewise. + * elf/dl-profstub.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-runtime.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/do-lookup.h: Likewise. + * include/dlfcn.h: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/dl-fptr.c: Likewise. + * sysdeps/generic/dl-origin.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/generic/dl-tls.c: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + * sysdeps/i386/dl-tls.h: Likewise. + * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. + * elf/rtld.c: Likewise. Export function though _rtld_global_ro. + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Move + dl_debug_fd to rtld_global_ro. + * elf/rtld.c: Use GLRO instead of GL for dl_debug_fd. + * elf/dl-misc.c: Likewise. + + * malloc/malloc.c: Don't call exported interface in the implementation. + + * include/wctype.h: Add libc_hidden_proto for __towctrans. + * wctype/towctrans.c: Add libc_hidden_def. + + * libio/memstream.c (open_memstream): Use _IO_init with INTUSE. + + * posix/regexec.c (transit_state): Remove unused variable + next_state. + + * posix/regcomp.c (init_dfa): Use __btowc instead of btowc. + + * sysdeps/generic/ldsodefs.h: Define new structure rtld_global_ro. + Declare _rtld_global_ro and _rtld_local_ro. Move members of + rtld_global structure into the new one if they are modified only + at startup time. Define GLRO to access _rtld_global_ro. + * elf/Versions: Export _rtld_global_ro. + * elf/dl-close.c: Use GLRO instead of GL where appropriate. + * elf/dl-conflict.c: Likewise. + * elf/dl-deps.c: Likewise. + * elf/dl-dst.h: 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-runtime.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/dl-origin.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/i386/setfpucw.c: Likewise. + * sysdeps/i386/fpu/fclrexcpt.c: Likewise. + * sysdeps/i386/fpu/fedisblexcpt.c: Likewise. + * sysdeps/i386/fpu/feenablxcpt.c: Likewise. + * sysdeps/i386/fpu/feholdexcpt.c: Likewise. + * sysdeps/i386/fpu/fesetround.c: Likewise. + * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. + * sysdeps/i386/fpu/ftestexcept.c: Likewise. + * sysdeps/unix/sysv/linux/dl-execstat.c: Likewise. + * sysdeps/unix/sysv/linux/dl-librecon.h: Likewise. + * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. + * sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise. + * sysdeps/unix/sysv/linux/getclktck.c: Likewise. + * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/prof-freq.c: Likewise. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. + * sysdeps/x86_64/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/powerpc/powerpc64/dl-machine.h: Likewise. + * sysdeps/powerpc/powerpc32/dl-machine.c: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/alpha/dl-machine.h: Likewise. + * generic/dl-fptr.c: Likewise. + * mach/hurd/dl-sysdep.c: Likewise. + * unix/sysv/linux/ia64/dl-static.c: Likewise. + * unix/sysv/linux/ia64/getpagesize.c: Likewise. + * unix/sysv/linux/m68k/getpagesize.c: Likewise. + * unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise. + +2004-03-04 Ulrich Drepper + + * sysdeps/generic/ldsodefs.h: Don't define _dl_name_match_p as inline. + * elf/dl-misc.c: Define _dl_name_match_p here. + * elf/dl-open.c (check_libc_caller): Don't use _dl_name_match_p. + + * elf/dl-open.c (dl_open_worker): Check that _dl_open is called + from the right place. + +2004-01-15 Paolo Bonzini + + * posix/regex.h (REG_STARTEND): Define. + * posix/regexec.c (regexec): Check for REG_STARTEND. + +2004-02-29 Paolo Bonzini + + * posix/regexec.c (transit_state): Don't handle state == NULL. + Move state log and backreference management... + (merge_state_with_log): ... to this function. + (find_recover_state): New function. + (check_matching): Use find_recover_state to get a non-NULL + state when an invalid state is reached. Compute the amount + of initial characters to be skipped less conservatively when + multi-byte character sets are in use. Do not check + dfa->nbackref if the state log is NULL. Initialize err. + (acquire_init_state_context): Expect err to be initialized. + Fix spacing. + +2004-03-05 Jakub Jelinek + + * sysdeps/sparc/sparc32/elf/start.S: Handle PIEs. + * sysdeps/sparc/sparc64/elf/start.S: Likewise. + +2004-03-04 Jakub Jelinek + + * iconv/iconv_prog.c (process_block): Handle omit_invalid. + If iconv returns EILSEQ with omit_invalid, continue converting + and return 1 if no other errors are seen. + (main): Set status to EXIT_FAILURE whenever process_* returns + nonzero, but only stop processing further files if iy returns + negative value. + +2004-03-03 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64): + Remove. + * sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: New file. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64): + Remove. + * sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: New file. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64): + Remove. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: New + file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Removed. + * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list + (posix_fadvise64): Remove. + * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list + (posix_fadvise64): Remove. + +2004-03-02 Andreas Schwab + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/xstat.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fxstat.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/lxstat.c: New file. + +2004-03-01 Ulrich Drepper + + * nscd/nscd_getgr_r.c (nscd_getgr_r): Add missing initialization + of return value. + * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. + + * sysdeps/unix/sysv/linux/kernel-features.h: Add support for + __ASSUME_GETDENTS32_D_TYPE. + * sysdeps/unix/sysv/linux/getdents.c: For 2.6.4+ kernels use + getdents syscall again since it provides d_type information. + +2004-02-29 Andreas Jaeger + + * manual/install.texi (Tools for Compilation): Autoconf 2.53 is + required. + (Supported Configurations): Add x86_64-*-linux. + +2004-02-28 Ulrich Drepper + + * sysdeps/i386/i686/memcmp.S: Move table to .rodata. Patch by HJ Lu. + +2004-02-27 Jakub Jelinek + + * elf/rtld.c (dl_main): Adjust l->l_ld of the vDSO by l->l_addr. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Only set + GL(dl_sysinfo) if non-zero. + + * sysdeps/unix/sysv/linux/sysconf.c: Include stdlib.h. + +2004-02-26 Ulrich Drepper + + * nss/getXXbyYY_r.c: Pass result also to the nscd_* function. Don't + set *result here. + * nscd/nscd_proto.h: Add new argument for pointer to result pointer + to all nscd_* functions. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Add new parameter. Store result + pointer in the address provided by the new parameter if successful. + Otherwise store NULL. Return zero if no entry found. + (__nscd_getgrnam_r, __nscd_getgrgid_r): Add new parameter and pass + it on. + * nscd/nscd_gethst_r.c (nscd_gethst_r): Add new parameter. Store + result pointer in the address provided by the new parameter if + successful. Otherwise store NULL. Return zero if no entry found. + (__nscd_gethostbyname_r, __nscd_gethostbyname2_r, + __nscd_gethostbyaddr_r): Add new parameter and pass it on. + * nscd/nscd_getpw_r.c (nscd_getpw_r): Add new parameter. Store result + pointer in the address provided by the new parameter if successful. + Otherwise store NULL. Return zero if no entry found. + (__nscd_getpwnam_r, __nscd_getpwuid_r): Add new parameter and pass + it on. + +2004-02-26 Jakub Jelinek + + * sysdeps/unix/sysv/linux/clock_settime.c (SYSDEP_SETTIME): Set + retval to -1 on error. + +2004-02-26 Ulrich Drepper + + * stdlib/canonicalize.c (__realpath): Simplify. + + * posix/regcomp.c (parse_expression): Avoid duplication in calls + to build_charclass_op. + +2004-02-26 Jakub Jelinek + + * elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr + in vDSO's link_map, don't assume l_addr == 0. Set GL(dl_sysinfo) + from e_entry only if AT_SYSINFO not present and adjust by l_addr. + Take vDSO into account when inserting rtld into _dl_loaded chain. + +2004-02-26 Ulrich Drepper + + * sunrpc/svcauth_des.c (authdes_getucred): Removed fixed limit on + number of groups in the cache. Relax the disconnect between the + interface of authdes_getucred and netname2user a bit. + * sunrpc/auth_unix.c (authunix_create_default): Don't allocate + huge arrays on the stack. + + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Use the official + not cancelable interfaces. + +2004-02-24 Arnold D. Robbins + + * posix/regex_internal.c (build_wcs_upper_buffer): Enclose + `offsets_needed' label in `#ifdef _LIBC' to silence `unused label' + compiler warning. + +2004-02-24 Nelson H.F. Beebe + + * posix/regcomp.c (parse_expression): Add cast to (const unsigned + char *) in calls to `build_charclass_op'. + * posix/regex_internal.c (build_wcs_buffer): Add cast to char* in call + to `wcrtomb'. + * posix/regex_internal.h (bitset_not, bitset_merge, bitset_not_merge, + bitset_mask, re_string_char_size_a, re_string_wchar_at, + re_string_elem_size_at): Change to use prototypes. + (re_string_char_size_at, re_string_wchar_at, + re_string_elem_size_at): Declare as `internal_function'. + +2004-02-25 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Handle + _SC_NGROUPS_MAX. + +2004-02-23 Jakub Jelinek + + * wcsmbs/mbrtowc.c (__mbrtowc): Cap s + n at the end of address space. + * stdlib/Makefile (tests): Add testmb2. + (testmb2-ENV): New. + * stdlib/testmb2.c: New test. + +2004-02-23 Jakub Jelinek + + * sysdeps/posix/getaddrinfo.c (gaih_inet): If _res has not been + inited yet, try to init it before saving old _res.options. + * posix/Makefile (xtests): Add bug-ga2. + (generated): Add bug-ga2.mtrace and bug-ga2-mem. + (xtests): Depend on bug-ga2-mem. + ($(objpfx)bug-ga2-mem, bug-ga2-ENV): New. + * posix/bug-ga2.c: New test. + +2004-02-22 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Pop register + content also in case of an overflow in the parameter. + Reported by Momchil Velikov . + +2004-02-21 Ulrich Drepper + + * elf/dynamic-link.h (elf_get_dynamic_info): Recognize DF_1_NOW. + In ld.so, neither DT_FLAGS nor DT_FLAGS_1 must be used. + +2004-02-21 Andreas Jaeger + + * posix/bug-ga1.c: Include for memset prototype. + + * elf/dl-load.c (_dl_map_object_from_fd): Fix casts used as lvalue. + + * iconv/gconv_simple.c (internal_ucs4le_loop): Remove cast used as + lvalue. + +2004-02-19 Carlos O'Donell + + * sysdeps/generic/framestate.c [__USING_SJLJ_EXCEPTIONS__] + (__frame_state_for): Set frame_State_for to abort if the compiler + is using sjlj. + * sysdeps/generic/unwind-dw2.c: Allow sjlj enabled compilers to + build the code by removing __USING_SJLJ_EXCEPTIONS__ wrapper. + +2004-02-20 Alexandre Oliva + + * resolv/Versions: Remove semicolon from the end of libresolv's + GLIBC_2.3.2 version block. + * Versions.def (libresolv): Add GLIBC_2.3.2. + +2004-02-19 Carlos O'Donell + + * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Fix order of fp + status register loads. + +2004-02-20 Thorsten Kukuk + + * nscd/nscd.c (termination_handler): Use _exit instead of exit + +2004-02-20 Ulrich Drepper + + * nscd/nscd.c (main): Report fork errors. + + * dlfcn/dlsym.c: Get ld.so loading lock before the call into ld.so. + * dlfcn/dlvsym.c: Likewise. + * elf/dl-addr.c: Get loading lock while using _dl_loaded data. + * elf/dl-fini.c: Likewise. + Patch by Shunichi Sagawa . + +2004-02-20 Jakub Jelinek + + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Add ulps for the + 2003-11-27 atan2 test. + + * sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Protect + with #ifndef __powerpc64__. + + * sysdeps/generic/ldsodefs.h (_dl_argv, _dl_argv_internal): If + DL_ARGV_NOT_RELRO defined, don't use attribute_relro. + * sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Remove. + * sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove. + * sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Remove. + * sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Remove. + * sysdeps/alpha/dl-sysdep.h: New file. + * sysdeps/ia64/dl-sysdep.h: New file. + * sysdeps/sparc/dl-sysdep.h: New file. + +2004-02-19 Jakub Jelinek + + * sysdeps/sparc/sparc32/bits/atomic.h: Add __make_section_unallocated + for .gnu.linkonce.b.__sparc32_atomic_locks section. + (__sparc32_atomic_locks): Add __sec_comment at the end of section name. + +2004-02-19 Steven Munroe + + * sysdeps/generic/libc-start.c [LIBC_START_DISABLE_INLINE] (STATIC): + Define as static. + * sysdeps/powerpc/elf/libc-start.c: Define LIBC_START_DISABLE_INLINE + because gcc does not allow inline of functions that call setjmp. + +2004-02-19 Steven Munroe + + * sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit. + +2004-02-19 Jakub Jelinek + + * elf/rtld.c (_dl_argv): If DL_ARGV_NOT_RELRO defined, don't + use attribute_relro for _dl_argv. + * sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Define. + * sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Define. + * sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Define. + * sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Define. + +2004-02-19 Ulrich Drepper + + * libio/iopopen.c (_IO_new_proc_open): It's not kosher to use + vfork instead of fork. + * libio/oldiopopen.c (_IO_old_proc_open): Likewise. + + * sysdeps/unix/clock_settime.c (clock_settime): Fix typo which + prevented system-dependent handling from being used. + +2004-02-18 Carlos O'Donell + + * test-skeleton.c (main): If set, use environment variable + TIMEOUTFACTOR to scale test TIMEOUT. + +2004-02-18 Ulrich Drepper + + * nscd/nscd_conf.c: Include . + +2004-02-16 Ulrich Drepper + + * stdlib/test-canon.c (do_test): Test realpath(,NULL) in the loop + as well. + + * stdlib/canonicalize.c (__realpath): Remove unnecessary copy + operations. + + * nscd/nscd_conf.c (nscd_parse_file): Little optimization. + +2004-02-14 Thorsten Kukuk + + * nscd/dbg_log.c (set_logfile): Only save name of logfile, + don't open it. + (init_logfile): New function, open logfile if requested. + * nscd/dbg_log.h: Adjust protoype for set_logfile, add init_logfile. + * nscd/nscd.c (main): Call init_logfile after forking in background. + * nscd/nscd_conf.c (nscd_parse_file): Adjust for new set_logfile. + +2004-02-16 Ulrich Drepper + + * elf/rtld.c (dl_main): Don't fail execution if file named in + ld.so.preload is not present [BZ #18]. + + * sysdeps/posix/getaddrinfo.c (getaddrinfo): Undo unintended + changes in last patch. + + * posix/regexec.c (transit_state): Fix typo in commented-out code + [BZ #6]. + + * sysdeps/posix/getaddrinfo.c (match_prefix): Correctly match + partial bytes [BZ #24]. + * posix/Makefile (tests): Add bug-ga1. + * posix/bug-ga1.c: New file. + +2004-02-13 Steven Munroe + + * sysdeps/powerpc/powerpc64/__longjmp-common.S: New file. + * sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp): + Non-versioned __longjmp for rtld-__longjmp. + [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as + default version of __longjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] + (__novmx__longjmp): Original version of __longjmp. + * sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp): + Non-versioned _setjmp for rtld-_setjmp. + [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define + as default version of _setjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] + (__novmx_setjmp): Original version of _setjmp. + * sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to + __vmx__sigsetjmp and define as default version of setjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] + (__novmxsetjmp): Original version of setjmp. + * sysdeps/powerpc/powerpc64/setjmp-common.S: New file. + * sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp): + Non-versioned __sigsetjmp for rtld-setjmp. + [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define + as default version of __sigsetjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] + (__novmx__sigsetjmp): Original version of __sigsetjmp. + + * sysdeps/powerpc/powerpc32/__longjmp-common.S: New File + * sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp): + Non-versioned __longjmp for rtld-__longjmp. + [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as + default version of __longjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] + (__novmx__longjmp): Original version of __longjmp. + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp): + Non-versioned _setjmp for rtld-_setjmp. + [!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define + as default version of _setjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] + (__novmx_setjmp): Original version of _setjmp. + * sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to + __vmx__sigsetjmp and define as default version of setjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] + (__novmxsetjmp): Original version of setjmp. + * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file. + * sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp): + Non-versioned __longjmp for rtld-__longjmp. + [!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as + default version of __longjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] + (__novmx__longjmp): Original version of __longjmp. + * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file. + * sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp): + Non-versioned __sigsetjmp for rtld-setjmp. + [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define + as default version of __sigsetjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] + (__novmx__sigsetjmp): Original version of __sigsetjmp. + * sysdeps/powerpc/powerpc32/setjmp-common.S: New file. + * sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp): + Non-versioned __sigsetjmp for rtld-setjmp. + [!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define + as default version of __sigsetjmp. + [SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)] + (__novmx__sigsetjmp): Original version of __sigsetjmp. + + * sysdeps/powerpc/Dist: New File. + * sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c + and novmx-sigjmp.c + * sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp, + __sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add + __novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp, + and __vmx__libc_siglongjmp. + * sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust + JB_SIZE to add VMX regs to __jmp_buf. + * sysdeps/powerpc/longjmp.c: New file. + * sysdeps/powerpc/novmxsetjmp.h: New file. + * sysdeps/powerpc/novmx-longjmp.c: New file. + * sysdeps/powerpc/novmx-sigjmp.c: New file. + * sysdeps/powerpc/sigjmp.c: New file. + +2004-02-13 Jakub Jelinek + + * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c (__lrintf, lrintf): + Define. + (__lrintl, lrintl): Remove. + * sysdeps/powerpc/powerpc64/fpu/s_llrint.c (__lrint): Fix a typo in + strong_alias spelling. + * sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: Remove. + * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: New file. + +2004-02-12 Ulrich Drepper + + * posix/getopt.h: Add some non-gcc support. Patch by Aharon Robbins. + +2004-02-12 Mark Brown + + * sysdeps/ia64/fpu/e_fmodf.S: Added text of Intel license. + +2004-02-12 Jakub Jelinek + + * sysdeps/powerpc/fpu/s_lrint.c: Move to... + * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: ... here. + * sysdeps/powerpc/fpu/s_llrint.c: Move to... + * sysdeps/powerpc/powerpc32/fpu/s_llrint.c: ... here. + * sysdeps/powerpc/fpu/s_llrintf.c: Move to... + * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c: ... here. + * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file. + * sysdeps/powerpc/powerpc64/fpu/s_lrintf.S: New file. + * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: New file. + + * math/libm-test.inc (lrint_test): Add new test. + (llrint_test, lround_test, llround_test): Likewise. + * sysdeps/ieee754/ldbl-128/s_lroundl.c (__lroundl): Fix special case + with result taking up 48 bits. + * sysdeps/ieee754/ldbl-128/s_lrintl.c (__lrintl): Likewise. + * sysdeps/ieee754/ldbl-128/s_llroundl.c (__llroundl): Likewise. + * sysdeps/ieee754/ldbl-96/s_llrintl.c (__llrintl): Fix special case + with result taking up 31 bits. + +2004-02-12 Ulrich Drepper + + * locale/programs/locale.c (show_locale_vars): Don't print a value + for LANG if it is not set. + +2004-02-11 Jakub Jelinek + + * posix/regexec.c (check_node_accept_bytes): Return 0 if char_len is 0. + (find_collation_sequence_value): Don't look beyond end of + SYMB_EXTRAMB table. + * posix/Makefile (tests): Add bug-regex23. + (bug-regex23-ENV): New. + * posix/bug-regex23.c: New file. + +2004-02-10 Roland McGrath + + * sysdeps/mach/hurd/times.c (__times): Use union instead of cast. + * sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): Likewise. + + * sysdeps/mach/hurd/configure.in: Move `retcode' check to ... + * sysdeps/mach/configure.in: ... here. + * sysdeps/mach/hurd/configure: Regenerated. + * sysdeps/mach/configure.in: Regenerated. + +2004-02-10 Ulrich Drepper + + * sysdeps/generic/setenv.c (__add_to_environ): Don't let the + temporary copies of the variables accumulate on the stack. + + * stdio-common/_i18n_number.h: Finish last patch. + +2004-02-09 Ulrich Drepper + + * sysdeps/i386/i686/memcmp.S: New file. Patch by HJ Lu. + +2003-12-05 Roland McGrath + + * sysdeps/unix/sysv/linux/i386/syscalls.list: Turn vm86 into vm86old + for vm86@GLIBC_2.0 version. Add new vm86@GLIBC_2.3.4. + * sysdeps/unix/sysv/linux/i386/Versions (libc: GLIBC_2.3.4): Add vm86. + * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Update vm86 prototype. + +2004-02-09 Ulrich Drepper + + * nis/ypclnt.c: Cleanup last patch. + +2004-02-09 Andreas Jaeger + + * configure.in: Remove glibcbug creation. + * configure: Regenerated. + + * sysdeps/x86_64/fpu/s_copysignf.S: Only load 4 bytes. + +2004-02-03 Thorsten Kukuk + + * nis/ypclnt.c (__yp_bind_client_create): New, small chunk + of duplicated code from __yp_bind. + (__yp_bind_file): New, binding dir code from __yp_bind. + (__yp_bind_client_create): New, ypbind code from __yp_bind. + (__ypclnt_call): New, make NIS query. + (do_ypcall): At first use cached data, then try data from + binding directory, after this ask ypbind for a working ypserv. + Based on a patch from Jeff Bastian and + Chris Barrera + +2004-01-19 Roland McGrath + + * configure.in: Don't set CCVERSION. + * configure: Regenerated. + * glibcbug.in: File removed. + * Makefile (install-bin-script): Remove glibcbug. + (glibcbug): Target removed. + (distclean-1): Don't rm glibcbug. + (distribute): Remove glibcbug.in. + +2004-02-09 Roland McGrath + + * time/tzset.c (tzset_internal): Cap hour in POSIX $TZ rule format to + 24, not 23. + +2004-01-29 Roland McGrath + + * io/ftwtest-sh: Use $tmp consistently, not literal /tmp. + Reported by Kevin P. Fleming . + +2004-02-09 Ulrich Drepper + + * libio/genops.c (_IO_cleanup): Do not use locking when flushing + the buffers. Some thread might be using a stream. + +2004-02-09 Andreas Jaeger + + * sysdeps/x86_64/memcpy.S: Fix alignment [BZ #7]. + Patch by Jan Beulich . + +2004-02-09 Andreas Schwab + + * include/rpc/rpc.h: Declare thread variables with their correct type. + * sunrpc/clnt_perr.c: Don't cast thread variables. + * sunrpc/clnt_raw.c: Likewise. + * sunrpc/clnt_simp.c: Likewise. + * sunrpc/key_call.c: Likewise. + * sunrpc/svcauth_des.c: Likewise. + * sunrpc/svc.c: Likewise. + * sunrpc/svc_raw.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + +2004-02-09 Ulrich Drepper + + * stdio-common/_i18n_number.h: Support printing localized decimal + point and thousand separator. + * wctype/wctrans.c: Add __wctrans alias. + * include/wctype.h: Declare __wctrans. + Based on a patch by Hamed Malek. + + * sysdeps/i386/fpu/fclrexcpt.c (__feclearexcept): Don't touch bits + other than the status bits [BZ #10]. + +2004-02-08 Ulrich Drepper + + Make stream locking operations really work. + * misc/Makefile (CFLAGS-mntent_r.c): Define. + * shadow/Makefile (CFLAGS-fgetspent_r.c): Define. + (CFLAGS-putspent.c): Define. + * grp/Makefile (CFLAGS-fgetgrent_r.c): Define. + (CFLAGS-putgrent.c): Define. + * pwd/Makefile (CFLAGS-fgetpwent_r.c): Define. + Reported by Shunichi Sagawa . + + * elf/dl-load.c (lose): Use noinline attribute instead of silly + alloca to prevent inlining. + * elf/dl-runtime.c (fixup): Likewise. + (profile_fixup): Likewise. + + * stdio-common/printf_size.c: Undo parts of patch from 2000-2-11. + Initialize width correctly. + +2004-02-07 Andreas Jaeger + + * iconv/gconv_simple.c (ucs4le_internal_loop): Remove cast used as + lvalue. + (internal_ucs4le_loop_single): Likewise. + (ucs4_internal_loop): Likewise. + (BODY): Likewise. + (internal_ucs4_loop_single): Likewise. + * iconvdata/iso8859-1.c (BODY): Likewise. + * iconvdata/cp1255.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/cp1258.c (EMIT_SHIFT_TO_INIT): Likewise. + * iconvdata/gb18030.c (BODY): Likewise. + * iconvdata/armscii-8.c (BODY): Likewise. + * stdlib/msort.c (msort_with_tmp): Likewise. + + * iconv/gconv_open.c (__gconv_open): Remove conditional expression + as lvalue. + +2004-02-06 Steven Munroe + + * sysdeps/powerpc/powerpc32/dl-machine.c: Declare __cache_line_size as + weak extern. + (__elf_machine_runtime_setup): Invalidate the instruction cache over + the whole range of the PLT. + +2004-02-06 Andreas Schwab + + * posix/regcomp.c (build_range_exp): Fix off-by-one. + (parse_bracket_exp): Likewise. + +2004-02-05 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Define + _HAVE_STAT_NSEC and _HAVE_STAT64_NSEC. Patch by Anton Blanchard. + +2004-02-02 Paolo Bonzini + + * posix/regexec.c (check_matching): Add P_MATCH_FIRST parameter. + (re_search_internal): Pass new parameter to check_matching. + (check_matching): Unless a parenthesized group is found at the + beginning of the regexp, advance P_MATCH_FIRST until we entered + a state different from the initial state. + +2004-02-01 Ulrich Drepper + + * math/libm-test.inc (lround_test): Add new test. + (llround_test): Likewise. + (lrint_test): Likewise. + (llrint_test): Likewise. + * sysdeps/ieee754/dbl-64/s_lround.c (__lround): Fix special case + with result taking up 20 bits. + * sysdeps/ieee754/dbl-64/s_lrint.c (__lrint): Likewise. + * sysdeps/ieee754/dbl-64/s_llrint.c (__llrint): Likewise.. + * sysdeps/ieee754/ldbl-96/s_lroundl.c (__lroundl): Fix special + case with result taking up 31 bits. + * sysdeps/ieee754/ldbl-96/s_lrintl.c (__lrintl): Likewise. + + * po/nl.po: Update from translation team. + +2004-01-30 Andreas Schwab + + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (ILL_BREAK, + FPE_DECOVF, FPE_DECDIV, FPE_DECERR, FPE_INVASC, FPE_INVDEC, + SEGV_PSTKOVF): Remove underscore prefix from definition. + +2004-01-28 Paolo Bonzini + + Merge regex changes in gawk. + * posix/regcomp.c (build_range_exp) [!_LIBC]: Check validity + of collation elements. + * posix/regex.c: Include limits.h. + * posix/regex.h: Document REG_ECOLLATE correctly. + * posix/regex_internal.h [!_LIBC && !ENABLE_NLS]: Disable NLS. + +2004-01-24 Andreas Jaeger + + * malloc/obstack.h: Import gnulib version. + * malloc/obstack.c: Likewise. + +2004-01-26 David Mosberger + + * elf/link.h (struct dl_phdr_info): Fix typo in comment. + * elf/rtld.c (dl_main): After incrementing dl_nloaded, also + increment dl_load_adds. + * elf/dl-iteratephdr.c (__dl_iterate_phdr): Replace GL(dl_load_subs) + with equivalent GL(dl_load_adds - GL(dl_nloaded). + (dl_iterate_phdr): Likewise. + * elf/dl-close.c (_dl_close): Delete increment of GL(dl_load_subs). + * elf/dl-support.c: Remove global variable _dl_load_subs. + * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove + _dl_load_subs member. + +2004-01-27 Jakub Jelinek + + * elf/rtld.c (_dl_start_final): Don't set l_relro_* here. + (_dl_start): And neither here. + (dl_main): Set GL(dl_loaded)->l_relro_* and + GL(dl_rtld_map)->l_relro_*. + +2004-01-23 David Mosberger + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Add members + _dl_load_adds and _dl_load_subs. + * elf/dl-support.c (_dl_load_adds): New variable. + (_dl_load_subs): Likewise. + * elf/dl-object.c (_dl_new_object): Increment dl_load_adds. + * elf/dl-close.c (_dl_close): Increment dl_load_subs. + * elf/link.h (struct dl_phdr_info): Add members dlpi_adds and + dlpi_subs. + * include/link.h: Likewise. + * elf/dl-iteratephdr.c (__dl_iterate_phdr): Initialize dlpi_adds + and dlpi_subs members. + (dl_iterate_phdr): Likewise. + * elf/tst-dlmodcount.c: New file. + * elf/Makefile (distribute): Mention tst-dlmodcount.c. + (tests): If build-shared, mention tst-dlmodcount. + ($(objpfx)tst-dlmodcount): If build-shared, build and + run tst-dlmodcount. + +2004-01-22 Jakub Jelinek + + * elf/dl-reloc.c (_dl_relocate_object): Move PT_GNU_RELRO protection + into... + (_dl_protect_relro): New routine. + * sysdeps/generic/ldsodefs.h (_dl_protect_relro): New prototype. + * elf/rtld.c (_dl_start_final): Copy l_relro_addr and l_relro_size + from bootstrap_map. + (_dl_main): Don't set GL(_dl_loaded)->l_relro_{addr,size} here. + Call _dl_protect_relro for libraries if prelinking. + +2004-01-23 Richard Henderson + + * Versions.def (libm): Replace GLIBC_2.3.3 with GLIBC_2.3.4. + * sysdeps/alpha/fpu/Versions (libm): Likewise. + * sysdeps/alpha/fpu/cfloat-compat.h (cfloat_versions): Likewise. + * sysdeps/alpha/fpu/s_clog10f.c (clog10f): Likewise. + +2004-01-22 Andreas Jaeger + + * sysdeps/ieee754/dbl-64/e_pow.c (log2): Rename to my_log2 to + avoid warnings for builtin function log2. + + * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Add proper unwind + information. + +2004-01-20 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sys/epoll.h: Add EPOLLONESHOT. + * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: Likewise. + Patch by Davide Libenzi. + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_NO_CLONE_DETACHED for 2.6.2+ kernels. + + * catgets/Makefile ($(objpfx)de.msg): Run sed in C locale. + + * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use off64_t + instead of loff_t. Include . + * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Add readahead prototype. + * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/cris/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. + + * elf/dl-load.c: Don't add attribute_relro to max_dirnamelen. + + * sysdeps/generic/inttypes.h: Fix PRI*FAST{16,32} macros. + +2003-12-31 Bruno Haible + + * iconvdata/iso_6937-2.c (to_ucs4): Map 0x7E to U+007E, not U+203E. + Map 0xA6 to U+0023. Map 0xA8 to U+00A4. + (to_ucs4_comb): Map 0xC5 0x20 to U+00AF. + (from_ucs4): Map U+00ED to 0xC2 0x69, not 0xC2 0xE9. + (BODY for TO_LOOP): Don't map U+02DC. Map U+02DD to 0xCD 0x20, not + 0x00 0x20. Don't map U+2500..U+25E3. + +2004-01-19 Jakub Jelinek + + * posix/regexec.c (get_subexp): Remove bkref_str variable. + Extend buffers if needed before comparisons. + (get_subexp_sub): Handle clean_state_log_if_needed failure. + +2004-01-17 Ulrich Drepper + + * sysdeps/i386/i486/bits/atomic.h (atomic_add): Fix test for using + atomic_decrement. Patch by Davin McCall. + +2004-01-13 Daniel Jacobowitz + + * sysdeps/powerpc/nofpu/sim-full.c (__sim_exceptions) + (__sim_disabled_exceptions, __sim_round_mode): Declare with + hidden data and nocommon. + * sysdeps/powerpc/nofpu/soft-supp.h (__sim_exceptions) + (__sim_disabled_exceptions, __sim_round_mode): Use + libc_hidden_proto. + * sysdeps/powerpc/soft-fp/sfp-machine.h (__sim_exceptions) + (__sim_disabled_exceptions, __sim_round_mode): Likewise. + +2004-01-16 Ulrich Drepper + + * elf/elf.h: Define PT_IA_64_HP_OPT_ANOT, PT_IA_64_HP_HSL_ANOT, and + PT_IA_64_HP_STACK. + +2004-01-16 Richard Henderson + + * include/unistd.h (__libc_enable_secure): Mark attribute_relro. + (__libc_enable_secure_internal): Likewise. + + * elf/dl-load.c: Don't declare __libc_stack_end. + * sysdeps/generic/libc-start.c: Likewise. + * sysdeps/unix/sysv/linux/dl-execstack.c: Likewise. + * sysdeps/generic/segfault.c: Likewise. Include ldsodefs.h. + * sysdeps/generic/backtrace.c: Likewise. + +2004-01-15 Ulrich Drepper + + * Versions.def: Add GLIBC_2.3.4. + +2004-01-15 Richard Henderson + + * sysdeps/unix/alpha/sysdep.h: Revert last change. + +2004-01-15 Richard Henderson + + * sysdeps/alpha/dl-machine.h (RTLD_START): Use _dl_argv_internal. + + * sysdeps/unix/alpha/sysdep.h [PIC] (SYSCALL_ERROR_HANDLER): Use + !samegp relocation. + +2004-01-15 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/Makefile [stdlib]: Process + ucontext-offsets.sym. + * sysdeps/unix/sysv/linux/alpha/getcontext.S: New file. + * sysdeps/unix/sysv/linux/alpha/makecontext.S: New file. + * sysdeps/unix/sysv/linux/alpha/setcontext.S: New file. + * sysdeps/unix/sysv/linux/alpha/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: New file. + +2004-01-15 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Prefix stubs with + __syscall_, move nop inside, adjust users by +4. + +2004-01-14 Steven Munroe + + * include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME] + (_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed symbols. + (_default_symbol_version): Use C_SYMBOL_DOT_NAME to create '.'ed + symbols. + * sysdeps/powerpc/Makefile: Add rtld-global-offsets.sym to + gen-as-const-headers. + * sysdeps/powerpc/elf/rtld-global-offsets.sym: New file. + * sysdeps/powerpc/sysdep.h: Define v# symbols for vector registers. + Define PPC_FEATURE_* masks for Aux Vector AT_HWCAP. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_SWAPCONTEXT_SYSCALL): Define for PPC and 2.6.0 kernels. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h [!__WORDSIZE == 32]: + Declare mcontext_t inline and include altivec state for 64-bit. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4 + versions for setcontext, getcontext, and swapcontext. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Add GLIBC_2.3.4 + versions for setcontext, getcontext, swapcontext, and makecontext. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S + (__getcontext): Upgrade to save Altivec regs and version GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_getcontext): + Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S + (__makecontext): Use parm save area instead of compiler_dw to hold + context pointer. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S + (__setcontext): Upgrade to restore Altivec regs and version + GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_setcontext): + Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S + (__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)] (__novec_swapcontext): + Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h + (SIGCONTEXT_V_REGS_PTR, SIGCONTEXT_V_RESERVE): Defined. + +2004-01-12 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Add GLIBC_2.3.4 + versions for setcontext, getcontext, swapcontext, and makecontext. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S + (__getcontext): Upgrade to save Altivec regs and version GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_getcontext): + Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S + (__makecontext): Upgrade to align for Altivec regs and version + GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_makecontext): + Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S + (__setcontext): Upgrade to restore Altivec regs and version + GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] (__novec_setcontext): + Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S + (__swapcontext): Upgrade to swap Altivec regs and version GLIBC_2_3_4. + [SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4)] + (__novec_swapcontext): Compatible with GLIBC_2.3.3 release. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: + (_UC_VSCR, _UC_VRSAVE): Define. + (_FRAME_BACKCHAIN, _FRAME_LR_SAVE,_FRAME_PARM_SAVE1,_FRAME_PARM_SAVE2, + _FRAME_PARM_SAVE3, _FRAME_PARM_SAVE4): Defined. + +2004-01-15 Ulrich Drepper + + * elf/rtld.c: Handle platforms with HP_TIMING_NONAVAIL defined. + +2004-01-16 Alfred M. Szmidt + + * sysdeps/generic/dl-execstack.c (_dl_make_stack_executable): Adjust + parameter type. + +2004-01-15 Ulrich Drepper + + * elf/elf.h: Fix typo in comment. + + * sysdeps/generic/dl-sysdep.c: Initialize __libc_stack_end. + * elf/rtld.c: Initialize _dl_argv to allow aliasing. + + * resolv/resolv.h: Add RES_USEBSTRING. + * resolv/res_debug.c (p_option): Add handling for RES_USE_INET6, + RES_ROTATE, RES_NOCHECKNAME, and RES_USEBSTRING. + * resolv/res_init.c (res_setioptions): Recognize ip6-bytestring. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Only perform + bytestring IPv6 lookup with RES_USEBSTRING option is selected. + Otherwise use the two nibble formats. + +2004-01-14 Ulrich Drepper + + * configure.in: Define HAVE_Z_RELRO if the linker supports -z relro. + * config.h.in: Add entry for HAVE_Z_RELRO. + * include/libc-symbols.h: Define attribute_relro. + * elf/dl-load.c: Add attribute_relro to env_path_list, capstr, ncapstr, + max_capstrlen, and max_dirnamelen definitions. + * elf/rtld.c: Add attribute_relro to _dl_argc, _dl_argv, _dl_skip_args, + load_time, start_time, library_path, preloadlist, version_info, + any_debug. + Remove rtld_total_time. Make it a local variable. Pass pointer to + it to print_statistics. Change print_statistics accordingly. + * sysdeps/generic/dl-sysdep.c: Add attribute_relro to _dl_auxv. Use + attribute_relro instead of explicitly assigning variable to the + .data.rel.ro section for __libc_enable_secure and __libc_stack_end. + * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end, _dl_argc, + _dl_argv, _dl_argv_internal with attribute_relro. + +2004-01-13 Segher Boessenkool + + * Makerules (gen-as-const): Don't silently continue on failure. + +2004-01-14 Steven Munroe + + * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with + rtld_hidden_data_def. + +2004-01-14 Ulrich Drepper + + * libio/libio.h: Add const to function tables types. + * libio/libioP.h: Likewise. + * login/utmp-private.h: Likewise. + * libio/fileops.c: Add const to jump table variable definition. + * libio/genops.c: Likewise. + * libio/iofopncook.c: Likewise. + * libio/iopopen.c: Likewise. + * libio/memstream.c: Likewise. + * libio/obprintf.c: Likewise. + * libio/oldfileops.c: Likewise. + * libio/oldiopopen.c: Likewise. + * libio/strops.c: Likewise. + * libio/vsnprintf.c: Likewise. + * libio/vswprintf.c: Likewise. + * libio/wfileops.c: Likewise. + * libio/wstrops.c: Likewise. + * login/getutent_r.c: Likewise. + * login/getutid_r.c Likewise. + * login/getutline_r.c: Likewise. + * sysdeps/generic/utmp_file.c: Likewise. + +2004-01-09 Bruno Haible + + * intl/gmo.h (MO_REVISION_NUMBER_WITH_SYSDEP_I): New definition. + * intl/loadmsgcat.c (get_sysdep_segment_value): Handle "I". + (_nl_load_domain): Treat major revision 1 like major revision 0. + +2004-01-11 Bruno Haible + + * stdio-common/vfprintf.c (vfprintf): Disallow the 'I' flag after + width or precision has been seen. + +2004-01-08 Bruno Haible + + * intl/loadmsgcat.c (_nl_load_domain): When a string pair uses a system + dependent segment not known to this version of the library, ignore + the string pair instead of crashing. + +2004-01-13 Ulrich Drepper + + * configure.in: Rewrite test to give gcc to clean up after itself. + Patch by Greg Schafer. + + * posix/regex.c: Support crappy compilers and platforms which have + problems with alloca. + * posix/regex_internal.h: Likewise. + Patch by Paolo Bonzini. + +2004-01-12 Paolo Bonzini + + * posix/regcomp.c [_LIBC && !RE_ENABLE_I18N]: + Drop code to support this, it is never true. + (build_range_exp) [!_LIBC]: Do not create a range + in MBCSET for a single-byte character set. + (build_range_exp) [_LIBC]: Do not create a range + in MBCSET for a single-byte character set without + collation elements. + (init_dfa): Do not conditionalize on _LIBC, it + just makes the code less clear. + (parse_bracket_exp): Use NON_MATCH variable in + addition to "mbcset->non_match", not as an + alternative. + (build_charclass_op): rename NOT parameter to + NON_MATCH, use it instead of declaring a variable. + (parse_bracket_exp) [!_LIBC]: Pass NULL for MBCSET + if the character set is single-byte. + +2004-01-14 Jakub Jelinek + + * posix/regcomp.c (peek_token_bracket): Check remaining + string length before re_string_peek_byte (x, 1). + (parse_bracket_symbol): Likewise. + * posix/regex_internal.h (re_string_is_single_byte_char): Return + true at last byte in the string. + * posix/bug-regex22.c (main): Add new test. + +2004-01-13 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.c: Move __libc_enable_secure into + .data.rel.ro. + + * sysdeps/x86_64/dl-machine.h: Include . + + * elf/rtld.c (_dl_start_final): Initialze __libc_stack_end here. + * sysdeps/generic/dl-sysdep.c: Define __libc_stack_end with + rtld_hidden_def and move into .data.rel.ro section. + * sysdeps/generic/ldsodefs.h: Declare __libc_stack_end with + rtld_hidden_proto. + * sysdeps/generic/libc-start.c: Only initialize __libc_stack_end here + if !SHARED. + +2004-01-13 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Fix typo. + +2004-01-13 Ulrich Drepper + + * sysdeps/unix/sysv/linux/dl-execstack.c + (_dl_make_stack_executable): Move common code in front. Use + __builtin_expect. + + * sysdeps/unix/sysv/linux/dl-execstack.c: Change interface. Add + challenge for caller. + * sysdeps/generic/ldsodefs.h: Change declaration and type of hook + member in rtld_global appropriately. + * elf/dl-support.c: Likewise. + * elf/dl-load.c (_dl_map_object_from_fd): Take additional paramter. + Pass it on to the changed function. + (_dl_map_object): Pass new parameter to _dl_map_object_from_fd. + +2004-01-13 Richard Henderson + + * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_xxx_8_int): + Cast old up to uint64_t before back down to inner width. + (__arch_compare_and_exchange_xxx_16_int): Likewise. + (__arch_compare_and_exchange_xxx_32_int): Likewise. + (__arch_compare_and_exchange_xxx_64_int): Likewise. + (__arch_compare_and_exchange_val_8_int): Cast result to + the type of the memory. + (__arch_compare_and_exchange_val_16_int): Likewise. + (__arch_compare_and_exchange_val_32_int): Likewise. + (__arch_compare_and_exchange_val_64_int): Likewise. + (atomic_compare_and_exchange_bool_acq): Use __atomic_bool_bysize. + (atomic_compare_and_exchange_bool_rel): Likewise. + + * sysdeps/unix/alpha/sysdep.h: Select inline_syscall_r0_asm + based on HAVE___THREAD instead of USE_TLS. + + * sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIMEX32): New. + (__adjtimex_tv64): Use it. + + * sysdeps/unix/sysv/linux/alpha/semctl.c (__new_semctl): Cast + to void* rather than directly to the compatibility structure type. + * sysdeps/unix/sysv/linux/alpha/shmctl.c (__new_shmctl): Likewise. + + * sysdeps/unix/sysv/linux/alpha/sigaction.c (struct kernel_sigaction): + Forward declare. + +2004-01-13 Richard Henderson + + * Versions.def (libm): Add GLIBC_2.3.3. + * sysdeps/alpha/fpu/Versions: Add __c1_c*f and c*f to GLIBC_2.3.3. + * sysdeps/alpha/fpu/cabsf.c, sysdeps/alpha/fpu/cargf.c, + sysdeps/alpha/fpu/cfloat-compat.h, sysdeps/alpha/fpu/cimagf.c, + sysdeps/alpha/fpu/conjf.c, sysdeps/alpha/fpu/crealf.c, + sysdeps/alpha/fpu/s_cacosf.c, sysdeps/alpha/fpu/s_cacoshf.c, + sysdeps/alpha/fpu/s_casinf.c, sysdeps/alpha/fpu/s_casinhf.c, + sysdeps/alpha/fpu/s_catanf.c, sysdeps/alpha/fpu/s_catanhf.c, + sysdeps/alpha/fpu/s_ccosf.c, sysdeps/alpha/fpu/s_ccoshf.c, + sysdeps/alpha/fpu/s_cexpf.c, sysdeps/alpha/fpu/s_clog10f.c, + sysdeps/alpha/fpu/s_clogf.c, sysdeps/alpha/fpu/s_cpowf.c, + sysdeps/alpha/fpu/s_cprojf.c, sysdeps/alpha/fpu/s_csinf.c, + sysdeps/alpha/fpu/s_csinhf.c, sysdeps/alpha/fpu/s_csqrtf.c, + sysdeps/alpha/fpu/s_ctanf.c, sysdeps/alpha/fpu/s_ctanhf.c: New files. + * sysdeps/alpha/fpu/bits/mathdef.h: Rename complex float + functions for gcc 3.3. + + * sysdeps/generic/s_cacosf.c, sysdeps/generic/s_cacoshf.c, + sysdeps/generic/s_casinf.c, sysdeps/generic/s_casinhf.c, + sysdeps/generic/s_catanf.c, sysdeps/generic/s_catanhf.c, + sysdeps/generic/s_ccosf.c, sysdeps/generic/s_ccoshf.c, + sysdeps/generic/s_cexpf.c, sysdeps/generic/s_clog10f.c, + sysdeps/generic/s_clogf.c, sysdeps/generic/s_cpowf.c, + sysdeps/generic/s_cprojf.c, sysdeps/generic/s_csinf.c, + sysdeps/generic/s_csinhf.c, sysdeps/generic/s_csqrtf.c, + sysdeps/generic/s_ctanf.c, sysdeps/generic/s_ctanhf.c: Don't + weak_alias if the function name has been #defined. + + * math/cabsf.c: Move ... + * sysdeps/generic/cabsf.c: ... here. + * math/cargf.c: Move ... + * sysdeps/generic/cargf.c: ... here. + * math/cimagf.c: Move ... + * sysdeps/generic/cimagf.c: ... here. + * math/conjf.c: Move ... + * sysdeps/generic/conjf.c: ... here. + * math/crealf.c: Move ... + * sysdeps/generic/crealf.c: ... here. + +2004-01-13 Ulrich Drepper + + * Makeconfig: Define relro-LDFLAGS if have-z-relro==yes. Add it to + LDFLAGS.so and LDFLAGS-rtld. + (+link): Add relro-LDFLAGS. + * Makeconfig (shlib.lds): Place __libc_subfreeres, __libc_atexit, and + __libc_thread_subfreeres sections after .jcr section. + * config.make.in: Add have-z-relro. + * configure.in: Add check for -z relro option. + * include/link.h (struct link_map): Add relro_addr and relro_size + members. + * elf/dl-load.c (_dl_map_object_from_fd): Recognize PT_GNU_RELRO. + * elf/dl-reloc.c (_dl_relocate_object): At the end, make relro + part of loaded segments read-only. + * elf/elf.h: Define PT_GNU_RELRO. + * elf/rtld.c (_dl_start): Recognize PT_GNU_RELRO of ld.so. + (dl_main): Recognize PT_GNU_RELRO of the application. Call + _dl_debug_initialize and initialize l_info[DT_DEBUG] before + relocations. + +2004-01-12 Jakub Jelinek + + * sysdeps/x86_64/strcspn.S: Fix typo in last patch. + +2004-01-11 Andreas Jaeger + + * sysdeps/x86_64/__longjmp.S: Add cfi directives. + +2004-01-10 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Add cfi directives. + * sysdeps/unix/x86_64/sysdep.S (__syscall_error): Likewise. + * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise. + * sysdeps/x86_64/strcspn.S: Likewise. + * sysdeps/x86_64/strspn.S: Likewise. + +2004-01-08 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/clone.S (__clone): Add cfi_endproc + right before syscall and cfi_startproc before PSEUDO_END. + Clear %rbp in thread_start. + +2004-01-05 Jakub Jelinek + + * posix/regcomp.c (regcomp): Fix comment typo. + (regfree): Free preg->translate, clear buffer, allocated, fastmap + and translate fields. + + * posix/regcomp.c (build_charclass, buld_charclass_op): Change first + argument to unsigned RE_TRANSLATE_TYPE. + * posix/regex_internal.h (re_string_t): Change trans type to + unsigned RE_TRANSLATE_TYPE. + * posix/regex_internal.c (re_string_construct_common): Cast + trans to unsigned RE_TRANSLATE_TYPE. + (re_string_peek_byte_case, re_string_fetch_byte_case): Avoid fast + path if pstr->trans. Never translate the character through + pstr->trans. + * posix/Makefile (tests): Add bug-regex22. + (bug-regex22-ENV): Set. + * posix/bug-regex22.c: New test. + +2004-01-02 Paolo Bonzini + + * posix/regex_internal.c (re_node_set_add_intersect, + re_node_set_merge): Rewritten. + (re_node_set_insert, re_node_set_remove_at): + Avoid memmove, we know what direction we should copy and that we + are copying 32-bit words. + (re_node_set_compare): Iterate backwards. + +2003-12-30 Paul Eggert + + * time/mktime.c (verify): New macro. + (time_t_is_integer, twos_complement_arithmetic, + right_shift_propagates_sign, base_year_is_a_multiple_of_100, + C99_integer_division): Document these longstanding assumptions in the + code, and verify them at compile-time. + +2004-01-02 Jakub Jelinek + + * posix/regex_internal.h (re_match_context_t): Add dfa member. + * posix/regexec.c (match_ctx_free_subtops, search_cur_bkref_entry, + match_ctx_add_sublast, sift_ctx_init, acquire_init_state_context, + prune_impossible_nodes, check_halt_state_context, proceed_next_node, + sift_states_backward, update_cur_sifted_state, check_dst_limits, + check_dst_limits_calc_pos, sift_states_bkref, transit_state, + check_subexp_matching_top, transit_state_sb, transit_state_mb, + transit_state_bkref, get_subexp, get_subexp_sub, check_arrival, + check_arrival_add_next_nodes, expand_bkref_cache, check_node_accept): + Remove dfa parameter. Get dfa from mctx. Adjust callers. + (re_search_internal): Initialize mctx.dfa. + + * posix/regex_internal.c (re_node_set_insert): Remove unused variables. + + * posix/regex_internal.h (re_dfa_t): Add syntax field. + * posix/regcomp.c (parse): Initialize dfa->syntax. + * posix/regexec.c (acquire_init_state_context, + prune_impossible_nodes, check_matching, check_halt_state_context, + proceed_next_node, sift_states_iter_mb, sift_states_backward, + update_cur_sifted_state, sift_states_bkref, transit_state, + transit_state_sb, transit_state_mb, transit_state_bkref, + get_subexp, get_subexp_sub, check_arrival, expand_bkref_cache, + build_trtable): Remove preg argument, add dfa argument instead + and remove dfa = preg->buffer initialization in the body. + Adjust all callers. + (check_node_accept_bytes, group_nodes_into_DFAstates, + check_node_accept): Likewise. Use dfa->syntax instead of + preg->syntax. + (check_arrival_add_next_nodes): Remove preg argument. + + * posix/regex_internal.h (re_match_context_t): Make input + re_string_t instead of a pointer to it. + * posix/regex_internal.c (re_string_construct_common): Don't clear + pstr here... + (re_string_construct): ... but only here. + * posix/regexec.c (match_ctx_init): Remove input argument. Don't + initialize fields to zero. + (re_search_internal): Move input into mctx.input. + (acquire_init_state_context, check_matching, + check_halt_state_context, proceed_next_node, + clean_state_log_if_needed, sift_states_bkref, sift_states_iter_mb, + transit_state, transit_state_sb, transit_state_mb, + transit_state_bkref, get_subexp, check_arrival, + check_arrival_add_next_nodes, check_node_accept, extend_buffers): + Change mctx->input into &mctx->input and mctx->input->field into + mctx->input.field. + +2004-01-02 Jakub Jelinek + Paolo Bonzini + + * posix/regex_internal.h (re_const_bitset_ptr_t): New type. + (re_string_t): Add newline_anchor, word_char and word_ops_used fields. + (re_dfa_t): Change word_char type to bitset. Add word_ops_used field. + (re_string_context_at, re_string_reconstruct): Remove last argument. + * posix/regex_internal.c (re_string_allocate): Initialize + pstr->word_char and pstr->word_ops_used. + (re_string_context_at): Remove newline_anchor argument. + Use input->newline_anchor instead, swap && conditions. + Only use IS_WIDE_WORD_CHAR if input->word_ops_used != 0. + Use input->word_char bitmap instead of IS_WORD_CHAR. + (re_string_reconstruct): Likewise. + Adjust re_string_context_at caller. + * posix/regexec.c (acquire_init_state_context, + check_halt_state_context, transit_state, transit_state_sb, + transit_state_mb, transit_state_bkref, check_arrival, + check_node_accept): Adjust re_string_context_at and + re_string_reconstruct callers. + (re_search_internal): Likewise. Set input.newline_anchor. + (build_trtable): Use dfa->word_char bitmap instead of IS_WORD_CHAR. + * posix/regcomp.c (init_word_char): Change return type to void. + Set dfa->word_ops_used. + (free_dfa_content): Don't free dfa->word_char. + (parse_expression): Remove error handling for init_word_char. + +2004-01-01 Paolo Bonzini + + * posix/regex_internal.h (re_dfastate_t): Fix size of the CONTEXT + bitfield. + + * posix/regex_internal.c (re_node_set_insert): Rewrite. + +2004-01-01 Ulrich Drepper + + * 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. + +2004-01-01 Petter Reinholdtsen + + * stdlib/strfmon.c: Make formatting of left-justified currency + values match the the POSIX standard. When using format string + "[%-14#5.4n]" to print -123.45, the result should be + "[-$ 123.4500 ]", not "[-$123.4500 ]". + +2004-01-01 Andreas Jaeger + + * resolv/Makefile (generated): New. + +2003-12-31 Joseph S. Myers + + * CONFORMANCE: Update. + +2003-12-30 Paul Eggert + + * time/mktime.c: (my_mktime_localtime_r): + Remove. All uses changed to __localtime_r. + (__localtime_r) [!defined _LIBC]: New macro. Include "time_r.h" to + get its implementation. + Fix compile-command to allow for TIME_R_POSIX. + + * time/strftime.c (my_strftime_gmtime_r, my_strftime_localtime_r): + Remove. All uses changed to __localtime_r and __gmtime_r. + (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros. + Include "time_r.h" to get their implementations. + + * time/timegm.c: Allow use in GNU applications outside glibc. + [defined HAVE_CONFIG_H]: Include . + [!defined _LIBC]: Include "timegm.h", . + Define __gmtime_r, and declare __mktime_internal. + (timegm): Define via a prototype, since we can safely assume C89 now. + + * time/mktime.c (check_result): Use less-confusing report format. + "long" -> "long int", as per usual GNU style. + (main): Likewise. + Don't loop if the iteration overflows time_t. + Allow a negative step in the iteration. + + * time/mktime.c: Assume freestanding C89 or better. + (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove; + assume they're 1. + (__P): Remove; not used. + (CHAR_BIT, INT_MIN, INT_MAX): Remove; defines them. + (mktime, not_equal_tm, print_tm, check_result, main): Use prototypes. + Prototypes use const * where appropriate. + (main) [DEBUG]: Fix typo in testing code uncovered by above changes, + which caused the testing code to dump core on some hosts. + +2003-12-31 Ulrich Drepper + + * locale/setlocale.c (setlocale): Avoid duplicating locale names + if we can reuse old strings. + + * inet/rcmd.c: Provide better error message in case of unknown + host. Remove USE_IN_LIBIO. + + * nscd/nscd.init: Updated version, more conforming with current + init file standards. + + * nscd/nscd-client.h (_PATH_NSCDPID): Move the file into + /var/run/nscd directory. + (_PATH_NSCDSOCKET): Likewise. + + * test-skeleton.c (timeout_handler): Fix error message. + + * elf/dl-dst.h (DL_DST_REQUIRED): Avoid the complex operations if + CNT == 0. + +2003-12-30 Jakub Jelinek + + * posix/regexec.c (get_subexp): Only set bkref_str after the first + loop, use buf + bkref_str_off in the loop instead. + * posix/bug-regex11.c (tests): Add 3 new tests. + + * posix/regexec.c (clean_state_log_if_need): Rename to... + (clean_state_log_if_needed): ...this. + (transit_state_mb, get_subexp_sub): Adjust callers. + + * sunrpc/pmap_clnt.c (pmap_set): Do CLNT_DESTROY even if CLNT_CALL + failed. Reported by Steve Grubb. + +2003-12-29 Ulrich Drepper + + * elf/elf.h: Add a few definitions from Solaris 9. + +2003-12-29 Andreas Schwab + + * stdio-common/Makefile (CFLAGS-errlist.c, CFLAGS-siglist.c): Add + $(fno_unit_at_a_time) to avoid reordering assembler output. + +2003-12-29 Jakub Jelinek + + * posix/regexec.c (re_copy_regs): Revert comment change. + Avoid memory leak if realloc fails. + (proceed_next_node): Return -2 if re_node_set_insert fails. + Return -2 if push_fail_stack fails. + (push_fail_stack): Change fs->alloc only after successful realloc. + (pop_fail_stack): Formatting. + (set_regs): If proceed_next_node returns -2, free eps_via_nodes and fs. + (check_arrival_add_next_nodes): Merge identical statements + from if branches. + + * signal/Makefile (tests): Add tst-raise. + * signal/tst-raise.c: New test. + +2003-12-28 Ulrich Drepper + + * posix/regcomp.c (mark_opt_subexp_iter): Declare IDX as int. + + * posix/regexec.c (re_copy_regs): Fix testing for failed allocation. + (push_fail_stack): Add missing check for failed memory allocation. + + * libio/libio.h: Use __builtin_expect in _IO_getc_unlocked, + _IO_peekc_unlocked, _IO_putc_unlocked, _IO_getwc_unlocked, and + _IO_putwc_unlocked. + +2003-12-28 Andreas Jaeger + + * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise only + overflow for 0 as argument. Raise Invalid exception for negative args. + * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise. + * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y0): Likewise. + * sysdeps/ieee754/ldb-128/e_jnl.c (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldb-128/e_j0l.c (__ieee754_y0l): Likewise. + * sysdeps/ieee754/ldb-128/e_j1l.c (__ieee754_y1l): Likewise. + * sysdeps/ieee754/ldb-96/e_jnl.c (__ieee754_ynl): Likewise. + * sysdeps/ieee754/ldb-96/e_j0l.c (__ieee754_y0l): Likewise. + * sysdeps/ieee754/ldb-96/e_j1l.c (__ieee754_y1l): Likewise. + * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. + * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise. + * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise. + + * math/libm-test.inc (yn_test): Expect invalid exception for + negative arguments. + (y0_test): Likewise. + (y1_test): Likewise. + + * sysdeps/ieee754/dbl-64/e_exp.c (__ieee754_exp): Do not raise + execptions for exp(NaN). + +2003-12-23 Paolo Bonzini + + * posix/regex_internal.c (re_dfa_add_node): Initialize opt_subexp. + * posix/regex_internal.h (re_token_type_t): Put OP_DUP_PLUS + among the tokens, rather than among the epsilon-transiting nodes. + (re_token_t): Add the opt_subexp flag. + * posix/regcomp.c (optimize_utf8, calc_first, + calc_next, calc_epsdest): Don't consider OP_DUP_PLUS. + (mark_opt_subexp, mark_opt_subexp_iter): New functions. + (parse_dup_op): Mostly rewritten, lowering OP_DUP_PLUS to + OP_DUP_ASTERISK and marking optional subexpressions + as such using mark_opt_subexp. + * posix/regexec.c (set_regs): Initialize PREV_INDEX_MATCH + and pass it to update_regs. + (update_regs): Use the PREV_INDEX_MATCH parameter, together + with the opt_subexp flag, in order to discard a final empty + match of a repeated subexpression. + * posix/BOOST.tests: Adjust test vectors. + * posix/PCRE.tests: Likewise. + * posix/rxspencer/tests: Likewise. + +2000-05-22 Jakub Jelinek + + * sysdeps/i386/fpu/bits/mathinline.h (__expm1_code): Avoid using ?: + with omitted middle operand. + +2003-12-22 Jakub Jelinek + + * posix/regcomp.c: Remove C99-ism. + * posix/tst-rxspencer.c: Likewise. + Based on a patch by Alex Davis . + +2003-12-17 Paolo Bonzini + + * posix/regex_internal.h [!_LIBC] (internal_function): Define. + (re_string_allocate, re_string_construct, re_string_reconstruct, + re_string_realloc_buffers, build_wcs_buffer, + build_wcs_upper_buffer, build_upper_buffer, + re_string_translate_buffer, re_string_destruct, + re_string_elem_size_at, re_string_char_size_at, + re_string_wchar_at, re_string_context_at, + re_node_set_alloc, re_node_set_init_1 + re_node_set_init_2, re_node_set_init_copy, + re_node_set_add_intersect, re_node_set_init_union, + re_node_set_merge, re_node_set_insert + re_node_set_compare, re_node_set_contains + re_node_set_remove_at, re_dfa_add_node, + re_acquire_state, re_acquire_state_context, + free_state): Add internal_function to declaration. + + * posix/regexec.c (match_ctx_init, match_ctx_clean, + match_ctx_free, match_ctx_free_subtops, + match_ctx_add_entry, search_cur_bkref_entry, + match_ctx_clear_flag, match_ctx_add_subtop, + match_ctx_add_sublast, sift_ctx_init, + re_search_internal, re_search_2_stub, re_search_stub, + re_copy_regs, acquire_init_state_context, + prune_impossible_nodes, check_matching, + check_halt_node_context, check_halt_state_context + update_regs, proceed_next_node, push_fail_stack, + pop_fail_stack, set_regs, free_fail_stack_return, + sift_states_iter_mb, sift_states_backward + update_cur_sifted_state, add_epsilon_src_nodes, + sub_epsilon_src_nodes, check_dst_limits, + check_dst_limits_calc_pos, check_subexp_limits, + sift_states_bkref, clean_state_log_if_need, + merge_state_array, transit_state, + check_subexp_matching_top, transit_state_sb, + transit_state_mb, transit_state_bkref, + get_subexp, get_subexp_sub, find_subexp_node, + check_arrival, check_arrival_add_next_nodes, + find_collation_sequence_value, check_arrival_expand_ecl, + check_arrival_expand_ecl_sub, expand_bkref_cache, + build_trtable, check_node_accept_bytes, extend_buffers, + group_nodes_into_DFAstates, check_node_accept): Likewise. + + * posix/regex_internal.c (re_string_construct_common, + re_string_skip_chars, create_newstate_common, + register_state, create_ci_newstate, create_cd_newstate, + calc_state_hash): Likewise. + (re_string_peek_byte_case, re_fetch_byte_case): Change + declaration from ANSI to K&R. + +2003-12-16 Paolo Bonzini + + * posix/regexec.c (build_trtable): Don't allocate the trtable + until state->word_trtable is known. Don't hardcode UINT_BITS + iterations on each bitset item. + +2003-12-22 Maciej W. Rozycki + + * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): + Initialize REF before passing it to _dl_lookup_symbol. + +2003-12-21 Roland McGrath + + * sysdeps/mach/hurd/dl-sysdep.c (_exit): Define with attribute_hidden. + +2003-12-21 Jakub Jelinek + + * posix/regcomp.c (duplicate_node, duplicate_node_closure): Revert + 2003-11-24 changes. + * posix/regexec.c (group_nodes_into_DFAstates): For CHARACTER with + NEXT_{,NOT}WORD_CONSTRAINT check word_char bit. + * posix/bug-regex19.c (tests): Add new tests. + + * posix/regexec.c (check_dst_limits_calc_pos): Fix formatting. + + * posix/regcomp.c (parse_dup_op): Return NULL if dup_elem is NULL, + after checking syntax. Optimize. + (calc_first): Fix comment. + * posix/bug-regex13.c (tests): Add new tests. + +2003-12-21 Roland McGrath + + * manual/arith.texi (Parsing of Integers): Typo fix. + +2003-12-20 Roland McGrath + + * sysdeps/generic/ifreq.c (__ifreq) [_HAVE_SA_LEN]: Fix typo: + add missing dereference of IFREQS before counting loop. + +2003-12-21 Andreas Schwab + + * sysdeps/m68k/m68020/bits/atomic.h: Avoid matching memory + constraints. + +2003-12-20 Ulrich Drepper + + * elf/rtld.c (dl_main): Optimize order of subexpressions in if(). + +2003-12-18 Ulrich Drepper + + * stdio-common/printf_fp.c: Add support to use alternative decimal + digits. + * stdio-common/vfprintf.c (vfprintf): Pass use_outdigits flags to + __printf_fp. Patch by Hamed Malek . + +2003-12-18 Carlos O'Donell + + * sysdeps/unix/sysv/linux/hppa/clone.S (__clone) [PIC]: Save PIC, + reload PIC if we need to call __syscall_error, cleanup asm. + +2003-12-17 Carlos O'Donell + + * sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Right shift + FE_ALL_EXCEPT before complimenting. + * sysdeps/hppa/fpu/fegetenv.c (fegetenv): Use asm 'ma,' completer, + and gcc '+r' constraint. + * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise. + * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Read raised + exception bits, OR with envp, pass to fesetenv. + * sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Add delayed + exception flushing, FE_UNDERFLOW is DBL_MIN/3.0, FE_INEXACT is + triggered by M_PI/69.69 converted to single precision. + * sysdeps/hppa/fpu/fsetexcptflg.c (fesetexceptflag): Set enable + bits not raised exception bits. + + * sysdeps/hppa/Makefile: Add dl-symaddr and dl-fptr to the + correct build strings. + * sysdeps/hppa/dl-fptr.h: New file. + * sysdeps/hppa/dl-fptr.c: Removed. + * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Use _dl_make_ftpr, + remove const qualifier for map. + (_dl_function_address): Removed. + * sysdeps/hppa/dl-lookupcfg.h: DL_LOOKUP_ADDRESS must clear + PLABEL32 bits, define DL_AUTO_FUNCTION_ADDRESS and + DL_STATIC_FUNCTION_ADDRESS, DL_DT_INIT_ADDRESS and + DL_DT_FINI_ADDRESS use the previous two macros. + +2003-12-17 Jakub Jelinek + + * malloc/mtrace.c (tr_old_memalign_hook): New variable. + (tr_memalignhook): New function. + (mtrace): Register tr_memalignhook. + (muntrace): Deregister tr_memalignhook. + * malloc/malloc.c (__posix_memalign): If __memalign_hook != NULL, + call it directly instead of memalign_internal. + +2003-12-17 Ulrich Drepper + + * misc/mntent_r.c: Change encoding to match recently changed decoder. + Patch by Alexander Achenbach . + +2003-12-16 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct definition of + vrregset_t. + +2003-12-16 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [!__PPC64_ELF_H]: Extend + conditional to include typedef elf_vrreg_t. + +2003-12-17 Paolo Bonzini + + * posix/regexec.c (re_search_internal): Limit search to the + beginning of the buffer if the initial states are empty for + contexts that do not include CONTEXT_BEGBUF or, if + !preg->newline_anchor, that do not include any one of + CONTEXT_BEGBUF and CONTEXT_NEWLINE. + +2003-12-17 Andreas Jaeger + + * sysdeps/generic/system.c (__libc_system): Fix typo, reported by + Kevin Pedretti . + +2003-12-17 Ulrich Drepper + + * elf/rtld.c: Don't use strong_alias to define _rtld_local. This + removes the visibility attributes which might be defined earlier + for some gcc versions. Instead spell out what strong_alias does + plus the visibility. + +2003-12-16 Petter Reinholdtsen + + * posix/regex_internal.h: Make sure the regex code compile + with non-GCC compilers by hiding attributes. + +2003-12-16 Jakub Jelinek + Paolo Bonzini + + * posix/regexec.c (group_nodes_into_DFAstates): Never produce + dests_ch items that are empty. + +2003-12-14 Paolo Bonzini + + * posix/regexec.c (check_arrival): Remove duplicate test. + +2003-12-15 Ulrich Drepper + + * posix/regcomp.c: Make !RE_ENABLE_I18N work again. + * posix/regex_internal.c: Likewise. + * posix/regexec.c: Likewise. + Patch by Paolo Bonzini. + +2003-12-14 Paolo Bonzini + + * posix/regex_internal.c (re_acquire_state_context): + Compare the node sets after all the other comparisons. + +2003-12-13 Paolo Bonzini + + * posix/regexec.c (find_subexp_node, check_arrival, + check_arrival_add_next_nodes, check_arrival_expand_ecl, + check_arrival_expand_ecl_sub, expand_bkref_cache): + Rename the FL_OPEN parameter to TYPE, which is either + OP_OPEN_SUBEXP or OP_CLOSE_SUBEXP. Callers adjusted. + +2003-12-12 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/syscall.S: Pass also 6th argument + to syscall. + +2003-12-11 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h: Remove __ASSUME_VSYSCALL. + There might always be processes which have no vDSO. + * sysdeps/generic/dl-sysdep.c: Remove __ASSUME_VSYSCALL uses. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + +2003-12-11 Carlos O'Donell + + * sysdeps/generic/dl-fptr.c (COMPARE_AND_SWAP): Pass new and old + in the right order. + +2003-12-01 Jes Sorensen + + * rt/tst-clock.c (do_test): Print message when skipping + CLOCK_PROCESS_CPUTIME_ID test. + + * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: New file. + Provide CLOCK_PROCESS_CPUTIME_ID only if /proc/sal/itc_drift is 0. + +2003-12-02 David Mosberger + + * sysdeps/ia64/elf/initfini.c: Add unwind info. + + * sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with + attribute "unused". + (elf_machine_dynamic): Mark with attributes "unused" and "const". + (elf_machine_runtime_setup): Likewise. + + * sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with + attribute "always_inline". + * sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table): + Likewise. + + * configure.in: Check whether compiler has libunwind support. + * config.make.in (have-cc-with-libunwind): New variable. + * config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro. + * Makeconfig (gnulib): If have-cc-with-libunwind is "yes", also + mention -lunwind. + +2003-11-12 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK. + Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK. + Likewise for DO_INLINE_SYSCALL. Make INTERNAL_SYSCALL use + DO_INLINE_SYSCALL. + + * sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK() + instead of DO_CALL(). + + * sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead + of DO_CALL(). + + * sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it + to take advantage of DO_CALL() macro. + * sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise. + + * elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first + program header. On ia64, the check failed previously because + there are two program headers. + +2003-12-10 Andreas Jaeger + Ruediger Oertel + + * sysdeps/alpha/fpu/e_sqrt.c: Mark sqrt_data as used. + +2003-12-07 Ulrich Drepper + + * sysdeps/i386/fpu/s_nexttowardf.c: Construct overflow value correctly. + * sysdeps/i386/fpu/s_nexttoward.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_nexttoward.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_nexttoward.c: Likewise. + * sysdeps/generic/s_nexttowardf.c: Likewise. + * math/Makefile (tests): Add bug-nexttoward. + * math/bug-nexttoward.c: New file. + + * sysdeps/generic/s_nextafter.c: Make sure overflow exception is set. + * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise. + * math/bug-nextafter.c (main): Add tests for overflow and negative + values. + +2003-12-06 Ulrich Drepper + + * math/Makefile (tests): Add bug-nextafter. + * math/bug-nextafter.c: New file. + * sysdeps/generic/s_nextafter.c: Construct overflow value correctly. + * sysdeps/ieee754/flt-32/s_nextafterf.c: Likewise. + * math/libm-test.inc (nextafter_test): Add test for overflow after + +/-FLT_MAX etc. + +2003-12-04 Steven Munroe + + * sysdeps/powerpc/fpu/fgetexcptflg.c (__fegetexceptflag): Add masking + of fenv. + * sysdeps/powerpc/nofpu/fgetexcptflg.c (__fegetexceptflag): Likewise. + +2003-12-05 Martin Schwidefsky + + * sysdeps/s390/s390-32/elf/setjmp.S (setjmp, __setjmp): Add END + statements. + * sysdeps/s390/s390-64/elf/setjmp.S (setjmp, __setjmp): Likewise. + * sysdeps/s390/s390-32/sysdep.h (ENTRY): Add cfi_startproc directive. + (END): Add cfi_endproc directive. + * sysdeps/s390/s390-64/sysdep.h (ENTRY, END): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Remove + cfi_startproc and cfi_endproc directive. + * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise. + * sysdeps/s390/s390-32/addmul_1.S (__mpn_addmul_1): Add CFI directives. + * sysdeps/s390/s390-32/add_n.S (__mpn_add_n): Likewise. + * sysdeps/s390/s390-64/add_n.S (__mpn_add_n): Likewise. + * sysdeps/s390/s390-32/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): + Likewise. + * sysdeps/s390/s390-64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): + Likewise. + * sysdeps/s390/s390-32/mul_1.S (__mpn_mul_1): Likewise. + * sysdeps/s390/s390-32/sub_n.S (__mpn_sub_n): Likewise. + * sysdeps/s390/s390-64/sub_n.S (__mpn_sub_n): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S (__mmap64): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/mmap.S (__mmap): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add CFI + directives. Move thread_start out of ENTRY/PSEUDO_END block to + make backchain terminate. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise. + + * sysdeps/s390/s390-32/backtrace.c (trace_arg): New structure. + (unwind_backtrace, unwind_getip): New variables. + (init, __backchain_backtrace, backtrace_helper): New functions. + (__backtrace): Use unwind info for backtrace instead of backchain + walking if the unwind functions can be found. + * sysdeps/s390/s390-64/backtrace.c: Likewise. + + * sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: New file. + + * sysdeps/unix/sysv/linux/s390/sys/procfs.h (ELF_NGREG32): New #define. + (elf_greg_t32, elf_gregset_t32, elf_fpregset_t32): New types. + (elf_prstatus32, elf_prpsinfo32): New structures. + (prgregset32_t, prfpregset32_t, prstatus32_t, prpsinfo32_t): New types. + + * scripts/data/c++-types-s390-linux-gnu.data: New file. + * scripts/data/c++-types-s390x-linux-gnu.data: New file. + +2003-11-30 Petter Reinholdtsen + + * stdlib/strfmon.c: Correct formatting of international currency + values. The international currency formatting should prefer the + int_* values if they are set for a locale, and use the domestic + values if the int_* values are unset. + +2003-12-03 Jakub Jelinek + + * posix/Makefile (distribute): Add BOOST.tests. + (tests): Add tst-boost, depend on tst-boost-mem. + (generated): Add tst-boost-mem and tst-boost.mtrace. + (tst-boost-ARGS, tst-boost-ENV): Set. + ($(objpfx)tst-boost-mem): New. + * posix/tst-boost.c: New test. + * posix/BOOST.tests: New file. + + * posix/Makefile (distribute): Add PCRE.tests. + (tests): Add tst-pcre, depend on tst-pcre-mem. + (generated): Add tst-pcre-mem and tst-pcre.mtrace. + (tst-pcre-ARGS, tst-pcre-ENV): Set. + ($(objpfx)tst-pcre-mem): New. + * posix/tst-pcre.c: New test. + * posix/PCRE.tests: New file. + +2003-12-02 Jakub Jelinek + + * intl/locale.alias: Use nb_NO instead of no_NO for bokm.l. + + * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated. + * sysdeps/s390/fpu/libm-test-ulps: Regenerated. + +2003-12-03 Ulrich Drepper + + * locale/programs/locarchive.c (enlarge_archive): Print size info + only in verbose mode. + + * locale/iso-3166.def: Three letter code of Romania changed. + +2003-12-02 Roland McGrath + + * scripts/config.sub: Update from master, timestamp='2003-10-20'. + * scripts/config.guess: Update from master, timestamp='2003-10-20'. + +2003-11-30 Andreas Jaeger + + * config.make.in (fno-unit-at-a-time): Define. + + * configure.in: Add test for -fno-unit-at-a-time. + Fix text for -fpie. + + * csu/Makefile (CFLAGS-initfini.s): Add $(fno_unit_at_a_time). + * locale/Makefile (CFLAGS-loadlocale.c): Likewise. + +2003-12-01 Automatic + + * version.h (VERSION): Bump to 2.3.3. + +2003-11-30 Andreas Jaeger + + * stdio-common/vfprintf.c: Do not inline buffered_vfprintf to + decrease stack usage. + +2003-11-30 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/sysdep.h (PSEUDO_ERRVAL) + (PSEUDO_END_ERRVAL, ret_ERRVAL): Define. + +2003-11-29 Ulrich Drepper + + * misc/mntent_r.c (decode_name): Be compatible with util-linux and + recognize \134 as well. + +2003-10-09 H.J. Lu + + * sysdeps/ia64/fpu/fraiseexcpt.c: Don't include . + +2003-10-08 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include + . + (struct ia64_fpreg): New definition. + + * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include + . + (ELF_NGREG): New #define. + (ELF_NFPREG): Likewise. + (elf_greg_t): New type. + (elf_gregset_t): Likewise. + (elf_fpreg_t): Likewise. + (elf_fpregset_t): Likewise. + +2003-10-08 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include + . + (__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS. + (pt_all_user_regs): New type. + +2003-10-10 Simon Josefsson + + * argp/argp-namefrob.h [!_LIBC]: Include mempcpy.h, strcase.h, + strchrnul.h, strndup.h (from gnulib). + * argp/argp-parse.c: Add alloca.h include snippet verbatim from + Autoconf manual. + * argp/argp-help.c: Replace alloca.h include snipper with verbatim + Autoconf manual version. + * argp/argp.h: Map __restrict to restrict or empty string when + necessary, copied verbatim from posix/regex.h. + +2003-10-09 Steven Munroe + + * Makefile: Allow for c++-types-$(config-machine)-$(config-os).data in + addition to c++-types-$(base-machine)-$(config-os).data. + * scripts/data/c++-types-powerpc-linux-gnu.data: New file. + * scripts/data/c++-types-powerpc64-linux-gnu.data: New file. + +2003-11-28 Ulrich Drepper + + * misc/mntent_r.c (decode_name): Fix decoding of tab, add decoding + of newline. + * manual/sysinfo.texi (mtab): Adjust description accordingly. + Reported by Andries.Brouwer@cwi.nl. + + * sysdeps/x86_64/fpu/libm-test-ulps: Add some more minor changes + to compensate other setup. + +2003-11-27 Andreas Jaeger + + * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for new atan2 test. + + * math/libm-test.inc (atan2_test): Add test that run infinitly. + Reported by "Willus" . + +2003-11-27 Michael Matz + + * sysdeps/ieee754/dbl-64/mpsqrt.c (fastiroot): Fix 64-bit problem + with wrong types. + +2003-11-28 Jakub Jelinek + + * posix/regexec.c (acquire_init_state_context): Make inline. + Add always_inline attribute. + (check_matching): Add BE macro. Move if (cur_state->has_backref) + into if (dfa->nbackref). + (sift_states_backward): Fix comment. + (transit_state): Add BE macro. Move if (next_state->has_backref) + into if (dfa->nbackref && next_state). Don't check for next_state + != NULL twice. + * posix/regcomp.c (peek_token): Use opr.ctx_type instead of opr.idx + for ANCHOR. + (parse_expression): Only call init_word_char if word context will be + needed. + + * posix/bug-regex11.c (tests): Add new tests. + + * posix/tst-regex.c: Include getopt.h. + (timing): New variable. + (main): Set timing to 1 if --timing argument is present. + Add 2 new tests. + (run_test, run_test_backwards): Handle timing. + +2003-11-27 Jakub Jelinek + + * posix/regex_internal.h (re_string_t): Remove mbs_case field. + Add offsets, valid_raw_len, raw_len, raw_stop, mbs_allocated and + offsets_needed fields. Change icase, is_utf8 and map_notascii + type from int bitfield to unsigned char. + (MBS_ALLOCATED, MBS_CASE_ALLOCATED): Remove. + (build_wcs_upper_buffer): Change prototype to return int. + (re_string_peek_byte_case, re_string_fetch_byte_case): Remove + defines, add prototypes. + * posix/regex_internal.c (re_string_allocate): Don't initialize + stop here. Don't initialize mbs_case. Set valid_raw_len. + Use mbs_allocated instead of MBS_* macros. + (re_string_construct): Don't initialize stop and valid_len here. + Don't initialize mbs_case. Use mbs_allocated instead of MBS_* + macros. Reallocate buffers if build_wcs_upper_buffer converted + too few bytes. Set valid_len to bufs_len only for single byte + no translation and set in that case valid_raw_len as well. + (re_string_realloc_buffers): Reallocate offsets if not NULL. + Use mbs_allocated instead of MBS_ALLOCATED. Don't reallocate + mbs_case. + (re_string_construct_common): Initialize raw_len, mbs_allocated, + stop and raw_stop. + (build_wcs_buffer): Apply pstr->trans before mbrtowc instead of + after it. Set valid_raw_len. Don't set mbs_case. + (build_wcs_upper_buffer): Return REG_NOERROR or REG_ESPACE. + Only use the fast path if !pstr->offsets_needed. Apply pstr->trans + before mbrtowc instead of after it. If upper case character + uses different number of bytes than lower case, goto to the + slow path. Don't call towupper unnecessarily twice. Set + valid_raw_len as well. Handle in the slow path the case if + lower and upper case use different number of characters. + Don't set mbs_case. + (re_string_skip_chars): Use valid_raw_len instead of valid_len. + (build_upper_buffer): Don't set mbs_case. Add BE macro. Set + valid_raw_len. + (re_string_translate_buffer): Set mbs instead of mbs_case. Set + valid_raw_len. + (re_string_reconstruct): Use raw_len/raw_stop to initialize + len/stop. Clear valid_raw_len and offsets_needed when clearing + valid_len. Use mbs_allocated instead of MBS_* macros. + Check original offset against valid_raw_len instead of valid_len. + Remove mbs_case handling. Adjust valid_raw_len together with + valid_len. If is_utf8 and looking for tip context, apply + pstr->trans first. If buffers start with partial multi-byte + character, initialize mbs array as well if mbs_allocated. + Check return value of build_wcs_upper_buffer. + (re_string_peek_byte_case): New function. + (re_string_fetch_byte_case): New function. + (re_string_destruct): Use mbs_allocated instead of MBS_ALLOCATED. + Don't free mbs_case. Free offsets. + * posix/regcomp.c (init_dfa): Only check if charset name is UTF-8 + if mb_cur_max == 6. + * posix/regexec.c (re_search_internal): Initialize input.raw_stop + as well. Use valid_raw_len instead of valid_len when looking + through fastmap. Adjust registers through input.offsets. + (extend_buffers): Allow build_wcs_upper_buffer to fail. + * posix/bug-regex18.c (tests): Enable #ifdefed out tests. Add new + tests. + +2003-11-26 Jakub Jelinek + + * posix/regexec.c (check_subexp_limits): Only check close + subexpression limitation if one is found. Formatting. + (sift_states_backward, check_arrival, check_arrival_add_next_nodes): + Formatting. + * posix/bug-regex11.c (tests): Enable most #ifdefed out tests. + Add new test. + +2003-11-26 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_PROT_GROWSUPDOWN): Define for 2.6.1 and up. + * sysdeps/unix/sysv/linux/dl-execstack.c: Omit compatibility code + if __ASSUME_PROT_GROWSUPDOWN is defined. + +2003-11-26 Andreas Jaeger + + * sysdeps/unix/sysv/linux/dl-execstack.c + (_dl_make_stack_executable): Set dl_stack_flags always for + success. + +2003-06-22 Petter Reinholdtsen + + * locale/program/ld-monetary.c: Only check the first three + characters in int_curr_symbol against ISO-4217, to make the + separator character used by a locale independent of the content + in iso-4217.def. + * locale/iso-4217.def: Remove the space character from all + currency values to get the new test code in ld-monetary.c working. + +2003-11-21 David Mosberger + + * elf/soinit.c (_fini): Put _fini() in .init_array section if + HAVE_INITFINI_ARRAY is defined. + +2003-11-25 Ulrich Drepper + + * sysdeps/i386/fpu/bits/mathinline.h: Introduce __libc_sqrtl symbol. + Define it appropriately after last change. Use it where __sqrtl + was used. + +2003-11-25 H.J. Lu + + * sysdeps/i386/fpu/bits/mathinline.h (sqrt): Don't inline + sqrt for gcc 3.3 and above. + +2003-11-25 Ulrich Drepper + + * posix/runptests.c (main): Make errors fatal. + * posix/PTESTS: One test in GA135 and GA136 check functionality + which seems not guaranteed. + +2003-11-25 Jakub Jelinek + + * posix/regexec.c (re_search_internal): If prune_impossible_nodes + returned REG_NOMATCH, set match_last to -1. Don't initialize + pmatch[0] needlessly. Fix comment. + (prune_impossible_nodes): Don't segfault on NULL state_log entry. + (set_regs): Fix comment. + * posix/regcomp.c (parse_bracket_exp): Only set has_plural_match + if adding both SIMPLE_BRACKET and COMPLEX_BRACKET. + (build_charclass_op): Set has_plural_match if adding both + SIMPLE_BRACKET and COMPLEX_BRACKET. + * posix/bug-regex11.c (tests): Fix register values for one commented + out test. Add new tests. + + * posix/regex_internal.c (re_string_allocate): Make sure init_len + is at least dfa->mb_cur_max. + (re_string_reconstruct): If is_utf8, don't fall back into + re_string_skip_chars just because idx points into a middle of + valid UTF-8 character. Instead, set the wcs bytes which correspond + to the partial character bytes to WEOF. + * posix/regexec.c (re_search_internal): Allocate input.bufs_len + 1 + instead of dfa->nodes_len + 1 state_log entries initially. + * posix/bug-regex20.c (main): Uncomment backwards case insensitive + tests. + +2003-11-24 Jakub Jelinek + + * posix/regex_internal.h (re_token_t): Add word_char bit. Add + comment. + (re_dfa_t): Add sb_char field. + (bitset_mask): New function. + * posix/regcomp.c (free_dfa_content): Free sb_char. + (init_dfa): Don't initialize word_char unnecessarily. + Initialize sb_char. + (duplicate_node): Don't duplicate !word_char CHARACTERs with + NEXT_WORD_CONSTRAINT constraint or word_char CHARACTERs with + NEXT_NOTWORD_CONSTRAINT. Return -1 in *new_idx instead. + (duplicate_node_closure): Handle clone_dest == -1 from + duplicate_node. + (peek_token): Initialize word_char bit. + (parse_expression, parse_dup_op): Add comments. + (parse_bracket_exp): Don't set bitmask bits for multi-byte char + starting bytes here at the beginning. Mask off the bits right + before creating SIMPLE_BRACKET. + (build_charclass_op): Likewise. + * posix/regexec.c (group_nodes_into_DFAstates) : Only + set accept bits for single-byte characters. + (group_nodes_into_DFAstates): Don't rely on characters 0 .. 127 + being single byte encoded and the rest multi-byte. + * posix/bug-regex19.c (tests): Add new tests. + (do_mb_tests): Initialize t to *test. + (main): Fail even on do_mb_tests errors. + +2003-11-23 Ulrich Drepper + + * posix/regexec.c: Correct several memory allocation problems. + Add more BE. + * posix/regex_internal.c: Likewise. + * posix/regcomp.c: Likewise. + + * posix/regexec.c: Add const in a number of places. + * posix/regex_internal.h: Make EPSILON_BIT a macro to help + debugging. Its value isn't important. + +2003-11-22 Ulrich Drepper + + * posix/PTESTS: Fix first test of GA143. + +2003-11-21 Ulrich Drepper + + * posix/regex_internal.c (re_dfa_add_node): Add BE, reallocation + isn't likely. + + * locale/programs/charmap.c (charmap_read): If encoding is found + not ASCII compatible, set enc_not_ascii_compatible. + * locale/programs/charmap.h: Declare enc_not_ascii_compatible. + * locale/programs/ld-ctype.c (ctype_startup): If + enc_not_ascii_compatible is set, initialize to_nonascii to 1. + +2003-11-22 Jakub Jelinek + + * elf/rtld.c (process_envvars): Only honor LD_USE_LOAD_BIAS + if !__libc_enable_secure. + + * sysdeps/generic/ldsodefs.h (_dl_use_load_bias): New _rtld_global + field. + * elf/rtld.c (_rtld_global): Initialize _dl_use_load_bias field. + (dl_main): Set GL(dl_use_load_bias) default. + (process_envvars): Set GL(dl_use_load_bias) from LD_USE_LOAD_BIAS. + Add EXTRA_LD_ENVVARS_13. + * elf/dl-support.c (_dl_use_load_bias): New variable. + * elf/dl-load.c (_dl_map_object_from_fd): Mask c->mapstart + with GL(dl_use_load_bias). + * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add + LD_USE_LOAD_BIAS. + * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Remove. + (EXTRA_LD_ENVVARS_LINUX): Renamed to... + (EXTRA_LD_ENVVARS_13): ... this. Remove case at the beginning. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): + Don't undefine first. Remove EXTRA_LD_ENVVARS_LINUX. + +2003-11-21 Ulrich Drepper + + * posix/regcomp.c (duplicate_node): Remove unnecessary local variable. + + * posix/regcomp.c (re_dfa_add_tree_node): Make fourth parameter a + pointer. Adjust callers. + + * posix/regcomp.c (fetch_token): Change interface to match + peek_token. This avoids some copying and reduces code size. + +2003-11-21 Jakub Jelinek + + * posix/bug-regex19.c (tests): Add more tests. + + * posix/bug-regex11.c: And one more commented out test. + + * posix/tst-rxspencer.c (mb_tests): Don't run identical multi-byte + tests multiple times unnecessarily. + + * posix/bug-regex19.c (BRE, ERE): Define. + (tests): Add many new tests, remove UTF-8 ones. + (do_one_test, do_mb_tests): New functions. + (main): Rewritten using do_one_test and do_mb_tests. + +2003-11-20 Ulrich Drepper + + * posix/PTESTS: Fix first test in GA143. + +2003-11-20 Jakub Jelinek + + * posix/regex_internal.h (re_dfastate_t): Remove trtable_search. + Add word_trtable. + * posix/regex_internal.c (create_newstate_common, free_state): + Don't free trtable_search. + * posix/regexec.c (check_matching): Remove fl_search argument. + (transit_state_sb): Likewise. #ifdef out as unused. + (build_trtable): Remove fl_search argument. Set state->word_trtable + and state->trtable. Build separate word and non-word tables if + multi-byte and they differ for some character. + (transit_state): Remove fl_search argument. Don't update + state->trtable here. Handle state->word_trtable. + #ifdef out unused call to transit_state_sb. + (re_search_internal): Update check_matching caller. + (group_nodes_into_DFAstates): Don't clear non-ascii chars in accepts + bitmask for multi-byte locales. + * posix/bug-regex19.c (tests): Enable some commented out tests, add + 2 new tests. + * posix/tst-rxspencer.c (mb_tests): Don't test [[=b=]] for now as + multi-byte. Don't run identical multi-byte tests multiple times + unnecessarily. + (main): Check setlocale return value. + * posix/Makefile (tst-rxspencer-ARGS): Add --utf8 argument. + (tst-rxspencer-ENV): Remove MALLOC_TRACE, add LOCPATH. + ($(objpfx)tst-rxspencer-mem): Run another tst-rxspencer test + here, without --utf8 argument but with MALLOC_TRACE. + +2003-11-19 Jakub Jelinek + + * posix/regexec.c (extend_buffers): Don't allocate + twice as big state_log as needed. Don't modify pstr->valid_len + for mb_cur_max == 1 !icase !trans. + + * posix/regcomp.c (free_bin_tree): Removed. + (create_tree): Add dfa argument. Don't call re_malloc for + each tree, instead allocate from str_tree_storage. + (re_dfa_add_tree_node): New function. + (free_dfa_content): Handle freeing if dfa->nodes == NULL + or dfa->state_table == NULL. + (re_compile_internal): Call free_dfa_content if init_dfa + fails. Call free_workarea_compile, re_string_destruct + and free_dfa_content for most of the other failure paths. + (init_dfa): Initialize str_tree_storage_idx. + Don't clear any fields on allocation failure. + (free_workarea_compile): Free str_tree_storage chunks + instead of free_bin_tree (dfa->str_tree). + (parse): Call re_dfa_add_tree_node instead of re_dfa_add_node + followed by create_tree. Add dfa argument to remaining + create_tree calls. Remove new_idx variable. Remove calls + to free_bin_tree. + (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp, + parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise. + (duplicate_tree): Remove calls to free_bin_tree, add dfa + argument to create_tree. + * posix/regex_internal.h (BIN_TREE_STORAGE_SIZE): Define. + (bin_tree_storage_t): New type. + (re_dfa_t): Add str_tree_storage and str_tree_storage_idx + fields. + * posix/Makefile (tests): Add bug-regex21. + (generated): Add bug-regex21-mem, bug-regex21.mtrace, + tst-rxspencer-mem and tst-rxspencer.mtrace. + (tests): Depend on $(objpfx)bug-regex21-mem + and $(objpfx)tst-rxspencer-mem. + (bug-regex21-ENV, tst-rxspencer-ENV): Set. + ($(objpfx)bug-regex21-mem, $(objpfx)tst-rxspencer-mem): New. + * posix/tst-rxspencer.c (main): Add call to mtrace. + Free line at the end. + * posix/bug-regex21.c: New test. + +2003-11-19 Ulrich Drepper + + * posix/bug-regex20.c: Correct invalid UTF-8 sequences. + + * posix/regex_internal.c (build_wcs_upper_buffer): If mbrtowc + fails, just use the byte, do no fancy conversions. + + * posix/regex_internal.h (re_string_first_byte): Use ->valid_len + not ->len. + (re_string_is_single_byte_char): Likewise. + +2003-11-18 Ulrich Drepper + + * posix/regexec.c (get_subexp): After calling get_subexp_sub + reload buf and bkref_str. Little optimization by avoiding memcmp. + +2003-11-14 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/sysdep.h + (GAS_ALIGN_BREAKS_UNWIND_INFO): Define this macro to indicate + that all existing GAS versions have a problem with .align inside + a function. + * sysdeps/ia64/memccpy.S: Work around GAS_ALIGN_BREAKS_UNWIND_INFO bug. + * sysdeps/ia64/memcpy.S: Likewise. + * sysdeps/ia64/memset.S: Likewise. + * sysdeps/ia64/memmove.S: Likewise. Also move the jump-table to + out of .text into .rodata, where it belongs. + + * sysdeps/unix/sysv/linux/ia64/pipe.S: There is no need to + save/restore input-arguments, because they're necessarily + preserved by the kernel to support syscall-restart. + +2003-11-18 Jakub Jelinek + + * posix/regex_internal.h (re_token_type_t): Remove unused ALT, + END_OF_RE_TOKEN_T and SUBEXP. Reorder values. Add OP_UTF8_PERIOD + and EPSILON_BIT. + (IS_EPSILON_NODE): Just test if EPSILON_BIT is set. + (ACCEPT_MB_NODE): Return 1 for OP_UTF8_PERIOD as well. + * posix/regex_internal.c (create_ci_newstate, create_cd_newstate): + Handle OP_UTF8_PERIOD. + (re_string_reconstruct): Set valid_len for single byte char searching + with no translation and case sensitivity. + * posix/regcomp.c (re_compile_fastmap_iter, calc_first): Handle + OP_UTF8_PERIOD. + (re_compile_internal): Don't call optimize_utf8 if preg->translate + != NULL. + (optimize_utf8): Remove BACK_SLASH case. + Transform OP_PERIOD into OP_UTF8_PERIOD if the searching can be + optimized. + (parse_bracket_exp): Don't create SIMPLE_BRACKET if it doesn't have + any bits set and COMPLEX_BRACKET is used. + * posix/regexec.c (transit_state_mb): Fix comment typo. + (group_nodes_into_DFAstates, check_node_accept): Handle + OP_UTF8_PERIOD. + (check_node_accept_bytes): Likewise. Reorder slightly so that + re_string_char_size_at and re_string_elem_size_at are called + only when needed. + * posix/bug-regex20.c (BRE, ERE): Define. + (tests): Use them to make lines shorter. Expect . to be + optimized. Add lots of new tests. + (main): Run (ATM just case sensitive) test with backwards searching + as well. + +2003-11-18 Jakub Jelinek + + * io/bug-ftw4.c: Include string.h. + * posix/fnmatch.c (mbsinit): Remove define. + +2003-11-17 Jakub Jelinek + + * posix/regcomp.c (optimize_utf8): Optimize multi-byte chars as + well. + * posix/bug-regex20.c (tests): Add new tests. Multi-byte char + followed by dup operator is expected to be optimized. + + * posix/regexec.c (check_node_accept_bytes): Move nrules and j + variables to the block where they are only used, initialize + nrules only immediately before using it. + +2003-11-15 Andreas Jaeger + + * sysdeps/x86_64/fpu/s_scalbnl.S: New file. + * sysdeps/x86_64/fpu/s_truncl.S: New file. + * sysdeps/x86_64/fpu/s_nearbyintl.S: New file. + * sysdeps/x86_64/fpu/s_floorl.S: New file. + * sysdeps/x86_64/fpu/s_ilogbl.S: New file. + * sysdeps/x86_64/fpu/e_remainderl.S: New file. + + * math/libm-test.inc (floor_test): Test also ą0.25. + (ceil_test): Test -0.25. + +2003-11-17 Ulrich Drepper + + * sysdeps/posix/getaddrinfo.c: Add support for destination address + selection according to RFC 3484. + +2003-11-15 Ulrich Drepper + + * posix/regex_internal.h: Add forward declaration of re_dfa_t. + Replace last two parameters of re_string_allocate and + re_string_construct with pointer to DFA. + (re_dfa_t): Add map_notascii field. + * posix/regcomp.c (re_compile_internal): Add call of + re_string_construct. + (init_dfa): Initialize map_notascii. + * posix/regex_internal.c: Adjust definitions of re_string_allocate + and re_string_construct. + Pass DFA to re_string_construct. Adjust definition. Initialize + map_notascii field. + (build_wcs_upper_buffer): If map_notascii is zero use simplified + method to map ASCII values to upper case. + * posix/regex.c: Include localeinfo.h. + * posix/regexec.c: Adjust call of re_string_allocate. + + * locale/langinfo.h: Add _NL_CTYPE_MAP_TO_NONASCII. + * locale/localeinfo.h (LIMAGIC): Change value. + * locale/categories.def. Add entry for _NL_CTYPE_MAP_TO_NONASCII. + * locale/C-ctype.h: Likewise. + * locale/programs/ld-ctype.c: Compute whether any mapping maps from + ASCII to non-ASCII value. Write out that value. + + * wcsmbs/mbsinit.c: Undef mbsinit and __mbsinit. + * include/wchar.h: Provide inline versions of mbsinit and __mbsinit. + +2003-11-14 Jakub Jelinek + + * posix/tst-rxspencer.c (check_match): @ without any following + characters must match only end of string. + (main): Fix filename in error message. + +2003-11-12 David Mosberger + + * sysdeps/ia64/dl-machine.h: Force inlining of + elf_machine_runtime_setup(). + +2003-11-13 Andreas Jaeger + + * math/Makefile (CFLAGS-test-float.c): Add -fno-builtin. + (CFLAGS-test-double.c): Likewise. + (CFLAGS-test-ldouble.c): Likewise. + (CPPFLAGS-test-ifloat.c): Likewise. + (CPPFLAGS-test-idouble.c): Likewise. + (CPPFLAGS-test-ildoubl.c): Likewise. + + * math/libm-test.inc (ceil_test): Test ceil (0.25). + +2003-11-04 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ifaddrs.c: Make sure it's the kernel who + sends the netlink data. + * sysdeps/unix/sysv/linux/check_pf.c: Likewise. + +2003-11-13 Jakub Jelinek + + * posix/regcomp.c (optimize_utf8): Optimize even if SIMPLE_BRACKET + with no bits set for >= 0x80 chars is seen. + * posix/bug-regex20.c (tests): Add new tests. Expect [ABC] to be + optimized. + (main): Run all tests with RE_ICASE as well. + +2003-11-13 Ulrich Drepper + + * posix/Makefile: Add rules to build and run tst-rxspencer. + (distribute): Add rxspencer/tests and rxspencer/COPYRIGHT. + * posix/tst-rxspencer.c: New file. + * posix/rxspencer/tests: New file. + * posix/rxspencer/COPYRIGHT: New file. + Patch mostly by Jakub Jelinek. + + * posix/regcomp.c (parse_bracket_exp): Don't check for range if + this is no option given the first token. + + * posix/regcomp.c (parse_bracket_exp): Fix test for EOS after + hyphen in range expression. Return EBRACK in this case. + + * posix/regcomp.c (parse_bracket_element): Reject hyphens unless + we expect them or it's the last element in the bracket expression. + Indicated by new parameter. Adjust all callers. + + * posix/runtests.c (run_a_test): If regcomp failed, reset last_pattern. + Prettier error messages. + + * posix/regcomp.c (parse_dup_op): Fail with REG_BADBR is first + number in {,} expression is larger. + +2003-11-13 Andreas Jaeger + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_TGKILL): + Define appropriately for x86_64. + (__ASSUME_UTIMES): Likewise. + (__ASSUME_CLONE_THREAD_FLAGS): Likewise. + + * sysdeps/x86_64/fpu/s_ceill.S: New file. + +2003-11-13 Ulrich Drepper + + * posix/regcomp.c (parse_expression): In BRE consecutive + duplications are not allowed. + +2003-11-12 Ulrich Drepper + + * posix/regcomp.c (parse_bracket_exp): If end of expression is + seen, return EBRACK error, not BADPAT. + + * posix/regcomp.c (parse_expression): If token is OP_OPEN_DUP_NUM + and RE_CONTEXT_INVALID_DUP syntax flag is set, fail. + * posix/regex.h (RE_CONTEXT_INVALUD_OPS): New macro. + (RE_SYNTAX_POSIX_BASIC): Use RE_CONTEXT_INVALUD_OPS. + + * posix/regcomp.c (parse_sub_exp): In case of not-matching ( ) + return REG_EPAREN. + + * posix/PTESTS: Cleanup. Fix typoes. Correct bugs in 2003.2. + * posix/runptests.c (main): Handle comments. + * posix/PTESTS2C.sed: Handle comments. + +2003-11-12 Jakub Jelinek + + * posix/regcomp.c (optimize_utf8): New function. + (re_compile_fastmap_iter): Use dfa->mb_cur_max > 1 instead + of !icase. + (re_compile_internal): Call optimize_utf8 if not case insensitive + and in UTF-8 locale. + * posix/regex_internal.h: Ifdef out some prototypes if + RE_NO_INTERNAL_PROTOTYPES is defined to shut up warnings. + * posix/Makefile (tests): Add bug-regex20. + (bug-regex20-ENV): Add LOCPATH. + * posix/bug-regex20.c: New test. + +2003-11-12 Jakub Jelinek + + * io/ftw.c (NFTW_NEW_NAME, NFTW_OLD_NAME): Add prototypes. + +2003-11-12 Jakub Jelinek + + * posix/tst-regex.c (umemlen): New variable. + (test_expr): Add expectedicase argument. Test case insensitive + searches as well as backwards searches (case sensitive and + insensitive) too. + (run_test): Add icase argument. Use it to compute regcomp flags. + (run_test_backwards): New function. + (main): Cast read to size_t to avoid warning. Set umemlen. + Add expectedicase arguments to test_expr. + * posix/regex_internal.c (re_string_reconstruct): If is_utf8, + find previous character by walking back instead of converting + all chars from beginning. + +2003-11-12 Jakub Jelinek + + * posix/regex_internal.h (struct re_string_t): Add is_utf8 + and mb_cur_max fields. + (struct re_dfa_t): Likewise. Reorder fields to make structure + smaller on 64-bit arches. + (re_string_allocate, re_string_construct): Add mb_cur_max and + is_utf8 arguments. + (re_string_char_size_at, re_string_wchar_at): Use pstr->mb_cur_max + instead of MB_CUR_MAX. + * posix/regcomp.c (re_compile_fastmap_iter): Use dfa->mb_cur_max + instead of MB_CUR_MAX. + (re_compile_internal): Pass new arguments to re_string_construct. + (init_dfa): Initialize mb_cur_max and is_utf8 fields. + (peek_token, peek_token_bracket): Use input->mb_cur_max instead + of MB_CUR_MAX. + (parse_expression, parse_bracket_exp, parse_charclass_op): Use + dfa->mb_cur_max instead of MB_CUR_MAX. + * posix/regex_internal.c (re_string_construct_common): Add + mb_cur_max and is_utf8 arguments. Initialize fields with them. + (re_string_allocate, re_string_construct): Add mb_cur_max and + is_utf8 arguments, pass them to re_string_construct_common. + Use mb_cur_max instead of MB_CUR_MAX. + (re_string_realloc_buffers): Use pstr->mb_cur_max instead of + MB_CUR_MAX. + (re_string_reconstruct): Likewise. + (re_string_context_at): Use input->mb_cur_max instead of + MB_CUR_MAX. + (create_ci_newstate, create_cd_newstate): Use dfa->mb_cur_max + instead of MB_CUR_MAX. + * posix/regexec.c (re_search_internal): Likewise. + Pass new arguments to re_string_allocate. + (check_matching, transit_state_sb): Use dfa->mb_cur_max instead of + MB_CUR_MAX. + (extend_buffers): Use pstr->mb_cur_max instead of MB_CUR_MAX. + +2003-11-12 Jakub Jelinek + + * posix/Makefile (tests): Add bug-regex19. + (bug-regex19-ENV): Add LOCPATH. + * posix/bug-regex19.c: New test. + +2003-11-11 Jakub Jelinek + + * posix/regcomp.c (re_compile_fastmap_iter): Handle RE_ICASE + with MB_CUR_MAX > 1 locales in the fastmap. + +2003-11-11 Jakub Jelinek + + * posix/regex_internal.c (build_wcs_buffer): Fix comment typo. + (build_wcs_upper_buffer): Likewise. Use towupper for wchar_t instead + of toupper. + * posix/Makefile (tests): Add bug-regex17 and bug-regex18. + (bug-regex17-ENV, bug-regex18-ENV): Add LOCPATH. + * posix/bug-regex17.c: New file + * posix/bug-regex18.c: New file. + +2003-10-08 Thorsten Kukuk + + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (pread, pwrite): + Define __NR_pread/__NR_pwrite if not done in kernel headers + +2003-11-11 Roland McGrath + + * manual/xtract-typefun.awk: Swallow [(){}*] from function names. + + * manual/Makefile (info): Don't depend on dir-add.info. + (libc.dvi libc.pdf libc.info): Depend on dir-add.texi. + (dir-add.info): Target removed, replaced with ... + (dir-add.texi): New target. + (distribute): Add it. + (install): Remove variant with --section arguments. + Let the @dircategory directives do their work. + (mostlyclean): Don't remove dir-add.info here. + (realclean): Remove dir-add.texi here. + * manual/libc.texinfo: @include dir-add.texi + * configure.in: Remove check for old Debian install-info. + * configure: Regenerated. + * config.make.in (OLD_DEBIAN_INSTALL_INFO): Variable removed. + +2003-11-08 Andreas Schwab + + * scripts/data/c++-types-ia64-linux-gnu.data: New file. + +2003-11-10 Carlos O'Donell + + * io/ftwtest-sh: Fix nested sed commands. + +2003-11-10 Jakub Jelinek + + * posix/regex_internal.h (re_string_char_size_at): Don't look beyond + valid_len wide chars. + +2003-11-09 Roland McGrath + + * manual/examples/dir2.c (one): Add const to argument type. + Reported by J de Haan . + +2003-11-07 Ulrich Drepper + + * po/pl.po: Update from translation team. + +2003-11-07 Jakub Jelinek + + * io/ftw.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define. + (ftw_dir, ftw_startup): Add __attribute ((noinline)). + (NFTW_OLD_NAME, NFTW_NEW_NAME): New functions. + (NFTW_NAME): Only define if !_LIBC, add versioned_symbol + and compat_symbol. + * io/ftw64.c (NFTW_OLD_NAME, NFTW_NEW_NAME): Define. + * io/Versions (libc): Export nftw@@GLIBC_2.3.3 + and nftw64@@GLIBC_2.3.3. + + * io/ftw.h (FTW_ACTIONRETVAL): New flag. + (FTW_CONTINUE, FTW_STOP, FTW_SKIP_SUBTREE, FTW_SKIP_SIBLINGS): New. + * io/ftw.c (ftw_dir): Add old_dir argument. + Clear result if it was FTW_SKIP_SIBLINGS after processing all + dir entries. Change cwd back if old_dir != NULL. + (process_entry): Adjust caller. Don't change cwd back here. + Change FTW_SKIP_SUBTREE result to 0. + (ftw_startup): Adjust ftw_dir caller. + Clear result if it was FTW_SKIP_SUBTREE or FTW_SKIP_SIBLINGS. + * io/ftwtest.c (skip_subtree, skip_siblings): New variables. + (options, main): Add --skip-subtree and --skip-siblings options. + (cb): Use return FTW_CONTINUE instead of return 0. + Handle --skip-subtree and --skip-siblings. + * io/ftwtest-sh: Add tests for FTW_ACTIONRETVAL. + * manual/filesys.texi: Document FTW_ACTIONRETVAL. + +2003-11-04 Jakub Jelinek + + * io/ftw.c (ftw_dir): Close dir if callback with FTW_D type returns + non-zero. + * io/Makefile (tests): Add bug-ftw4. + * io/bug-ftw4.c: New test. + +2003-10-27 Daniel Jacobowitz + + * libio/libioP.h [_IO_USE_OLD_IO_FILE] + (struct _IO_FILE_complete_plus): New type. + * libio/oldiofopen.c (_IO_old_fopen): Use _IO_FILE_complete_plus. + * libio/oldiofdopen.c (_IO_old_fdopen): Likewise. + * libio/oldiopopen.c (struct _IO_proc_file, _IO_old_popen): Likewise. + Call _IO_old_init instead of _IO_init. + +2003-11-03 Ulrich Drepper + + * intl/locale.alias: nb_NO is now the correct name, not no_NO. + + * locale/iso-639.def: Add Blin. + Patch by Daniel Yacob . + +2003-10-31 Steven Munroe + + * sysdeps/powerpc/powerpc32/strncmp.S: New File. + * sysdeps/powerpc/powerpc64/strncmp.S: New File. + +2003-11-01 Randolph Chung + + * sysdeps/unix/sysv/linux/hppa/sysdep.h (LOAD_ARGS_0, LOAD_ARGS_1, + LOAD_ARGS_2, LOAD_ARGS_3, LOAD_ARGS_4, LOAD_ARGS_5, LOAD_ARGS_6): + Add missing parentheses. + +2003-11-01 Roland McGrath + + * libio/bug-ftell.c (do_test): Add a cast. + +2003-09-26 Daniel Jacobowitz + + * Makerules (shlib.lds): Make sure that ld doesn't try to link + anything while generating the linker script. + +2003-10-31 Roland McGrath + + * locale/lc-ctype.c (_nl_postload_ctype): Update _nl_global_locale's + special members. + +2003-10-29 Ulrich Drepper + + * po/be.po: Update from translation team. + +2003-10-27 Ulrich Drepper + + * elf/rtld.c (map_doit): Pass __RTLD_OPENEXEC in last parameter to + _dl_map_object. + + * elf/sprof.c (load_shobj): Use l_map_start not l_addr to locate + ELF header. + + * inet/rcmd.c (__validuser2_sa): Remove unnecessary code to skip + rest of line. We use getline which means this cannot happen. + +2003-10-26 Ulrich Drepper + + * sysdeps/unix/sysv/linux/internal_statvfs.c (__internal_statvfs): + Avoid infinite loops in case the mounts file is hosed. + * io/Makefile: Add rules to build and run tst-statvfs. + * io/tst-statvfs.c: New file. + + * include/dlfcn.h (__RTLD_OPENEXEC): Define. + * elf/dl-load.c (_dl_map_object_from_fd): Don't allow loading + executables unless __RTLD_OPENEXEC flag is present. + * elf/rtld.c (dl_main): Pass __RTLD_OPENEXEC flag to + _dl_map_object when loading the executable. + + * sysdeps/generic/glob.c (glob): Handle GLOB_BRACE and escaping + correctly. + * posix/globtest.sh: Add tests for GLOB_BRACE and escaping. + + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Default + reverse lookup format for IPv6 addresses is using bitstring and + .ip6.arpa suffix. + * resolv/ns_name.c: Implement encoding and decoding bitstring in + hex format. + +2003-10-23 Jakub Jelinek + + * locale/programs/locale.c (show_info): Fix printing word values on + 64-bit big-endian architectures. + +2003-10-19 Bruno Haible + + * intl/hash-string.c (hash_string): Zero-extend each char from the + string; the old code did a sign-extend on some platforms. + +2003-10-22 Steven Munroe + + * sysdeps/powerpc/powerpc32/Makefile (+cflags, asm-CPPFLAGS): Don't + append options to these. + * sysdeps/powerpc/powerpc64/Makefile (+cflags, asm-CPPFLAGS): Likewise. + +2003-10-18 Carlos O'Donell + + * sysdeps/unix/sysv/linux/hppa/sysdep.h: Fix merge error. + +2003-10-15 Roland McGrath + + * elf/dl-iteratephdr.c [! SHARED] (dl_iterate_phdr): New function. + Fake an entry for the main executable and then call __dl_iterate_phdr. + * elf/Makefile (routines): Remove dl-iteratephdr-static. + (elide-routines.os): Likewise. + (CFLAGS-dl-iterate-phdr-static.c): Variable removed. + * sysdeps/generic/dl-iteratephdr-static.c: File removed. + * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: File removed. + +2003-10-15 Jakub Jelinek + + * elf/rtld.c (print_statistics): Print also number of relative + relocations. + +2003-10-12 Carlos O'Donell + + * sysdeps/hppa/sysdep.h: Undef JUMPTARGET before use. + * sysdeps/unix/sysv/linux/hppa/sysdep.h: Define PSEUDO_ERRVAL, + SYSCALL_ERROR_LABEL under all conditions, INTERNAL_SYSCALL_DECL, + INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO, INTERNAL_SYSCALL, + and undef JUMPTARGET before use. + [PIC]: Save pic register around syscall. + * sysdeps/unix/sysv/linux/hppa/sysdep.c (syscall): + Cleanup asm statment. + +2003-10-13 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/sysdep.h (DO_CALL): Add SYSCALL_INST_PAD + after trapa instruction. + +2003-10-09 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/syscalls.list: Add waitpid. + +2003-10-10 Carlos O'Donell + + * sysdeps/hppa/Makefile (CFLAGS-malloc.c): Variable removed. + +2003-10-09 Roland McGrath + + * elf/rtld.c (dl_main): Don't set l_name for sysinfo DSO, since there + is no file to name. + +2003-10-08 Jakub Jelinek + + * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Don't generate + two identical copies of strings. + +2003-10-06 Ulrich Drepper + + * posix/bug-regex11.c: Add some more tests which fail so far. + Disable them. Patch by Paolo Bonzini . + +2003-10-05 Paolo Bonzini + + * posix/bug-regex11.c: Add more backreference-related test cases. + (main): Show the failing regex in the error messages. + * posix/regexec.c (check_dst_limits_calc_pos): + Simplify some nested conditionals. Replace if's with a switch + statement. + (check_dst_limits_calc_pos ): Rename parameter NODE to + FROM_NODE, it shadows a local variable; don't recurse if FROM_NODE + does not change in the recursive invocation, fixing an infinite loop + in the ()\1*\1* regex. + (sift_states_backward): Fix function comment. + * posix/regcomp.c (calc_epsdest): Add an assertion. + +2003-10-06 Ulrich Drepper + + * manual/examples/testopt.c: Fix warnings. Better error message + for missing -c argument. + Patch mostly by Gitonga Marete . + + * timezone/asia: Update from tzdata2003d. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/europe: Likewise. + * timezone/iso3166.tab: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2003-10-05 Jakub Jelinek + + * sysdeps/ia64/backtrace.c: New file. + * sysdeps/x86_64/backtrace.c: New file. + * sysdeps/generic/unwind.h (_Unwind_Trace_Fn): New type. + (_Unwind_Backtrace): New prototype. + +2003-10-03 Ulrich Drepper + + * sysdeps/i386/elf/bsd-setjmp.S: Use linkonce section for PIC stub. + * sysdeps/i386/elf/setjmp.S: Likewise. + +2003-10-02 Roland McGrath + + * argp/argp-help.c (__argp_short_program_name): Move inside [! _LIBC]. + * argp/argp-namefrob.h + [_LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME] + (__argp_short_program_name): Don't declare fn, define it as a macro. + +2003-08-22 Simon Josefsson + + * argp/argp-fmtstream.h [!__attribute__]: Define to nothing. + + * argp/argp-help.c: Don't include malloc.h, some platforms + complain and it doesn't appear to be used. + [!_LIBC && HAVE_STRERROR_R && !HAVE_DECL_STRERROR_R]: Declare + strerror_r. + [!_LIBC && !HAVE_STRERROR_R && !HAVE_DECL_STRERROR]: Declare + strerror. + (hol_entry_long_iterate): Change __attribute to __attribute__. + (_help, __argp_error, __argp_failure) [!_LIBC && (HAVE_FLOCKFILE + && HAVE_FUNLOCKFILE)]: Protect call to flockfile and funlockfile. + (__argp_basename) [!_LIBC]: New. Taken from LSH, by Niels Möller, + modified after comments from Ulrich Drepper. + (__argp_short_program_name): Ditto. + (__argp_state_help, __argp_error, __argp_failure): Use it. + (__argp_failure): Use strerror when necessary. + + * argp/argp-namefrob.h (__flockfile, __funlockfile, __mempcpy) + (__strchrnul, __strerror_r, __strndup) [!_LIBC]: Remove __-prefix. + (clearerr_unlocked, feof_unlocked, ferror_unlocked) + (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked) + (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked) + (putc_unlocked, putchar_unlocked) [!_LIBC && !HAVE_DECL_*]: Map to + non-unlocked functions. + [!_LIBC]: Add prototypes for __argp_basename and + __argp_short_program_name. + + * argp/argp-parse.c (argp_default_parser): Only use + program_invocation{_short,}_name if declared. + (parser_init): Use __argp_short_program_name. + + * argp/argp-xinl.c [_LIBC || HAVE_FEATURES_H]: Add CPP check for + '#include features.h'. + + * argp/argp.h [!__attribute__]: Define to nothing. + +2003-09-26 Paolo Bonzini + + * posix/regcomp.c (parse_sub_exp): Pass RE_CARET_ANCHORS_HERE + for the first token in a subexpression as well. + +2003-10-02 Jakub Jelinek + + * posix/regcomp.c (peek_token): Add 2003-09-20 changes for anchor + handling again. + (parse_reg_exp): Likewise. + * posix/regex.h (RE_CARET_ANCHORS_HERE): Define. + + * posix/bug-regex11.c (tests): Add new tests. + * posix/bug-regex12.c (tests): Add new test. + +2003-10-01 Thorsten Kukuk + + * elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of + variables only used if TLS_DTV_AT_TP is defined into the #if branch. + +2003-10-02 Jeroen Dekkers + + * sysdeps/mach/hurd/malloc-machine.h: Copy the tsd code from + the old thread-m.h header too. + +2003-10-02 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ): Go + back to 131027 since this is what the kernel enforces. + + * inet/getnameinfo.c: Move domain out of nrl_domainname scope and + define it with libc_freeres_ptr. + +2003-10-01 Roland McGrath + + * elf/rtld.c (dl_main): Add cast in last change. + +2003-09-10 Chris Demetriou + + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Remove + "#if 0" surrounding most of contents. + (SYSCALL_ERROR_LABEL): Define. + (__SYSCALL_CLOBBERS): Add $10. + (internal_syscall7): Remove. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise. + +2003-09-30 Ulrich Drepper + + * elf/rtld.c (dl_main): Also set l_map_start. + +2003-09-30 Daniel Jacobowitz + + * elf/rtld.c (dl_main): Set l_libname and l_name for the sysinfo DSO + to work around kernel problem. + +2003-09-27 Wolfram Gloger + + * malloc/malloc.c: Include earlier instead of + "thread-m.h", so that default parameters can be overridden in a + system-specific malloc-machine.h. Remove extra ; from extern "C" + closing brace. + * sysdeps/generic/malloc-machine.h: New file. + * sysdeps/mach/hurd/malloc-machine.h: New file. + * malloc/thread-m.h: Removed. + * malloc/Makefile: Remove CFLAGS-malloc.c parameter addition, it + is in sysdeps/generic/malloc-machine.h now. + +2003-09-29 Ulrich Drepper + + * elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of + variables only used if TLS_TCB_AT_TP is defined into the #if + branch. + + * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add __extension__ as + well to cover using long long in C90. + +2003-09-28 Alfred M. Szmidt + + * sysdeps/mach/hurd/bits/libc-lock.h (__libc_cleanup_pop): + Redefine and use __libc_cleanup_region_end instead. + +2003-09-29 Thorsten Kukuk + + * sysdeps/unix/sysv/linux/sys/sysmacros.h: Use __inline and + fix prototypes for picky C++ compilers. + +2003-09-27 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ustat.c (ustat): Set errno to EINVAL if + the device ID is invalid and return -1. + * sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise. + +2003-09-26 Andreas Schwab + + * sysdeps/unix/sysv/linux/ia64/getcontext.S: Pass fourth argument to + rt_sigprocmask system call. + +2003-09-25 Roland McGrath + + * sysdeps/unix/sysv/linux/dl-execstack.c (_dl_make_stack_executable): + Don't check for zero __libc_stack_end, it should be initialized. + [_STACK_GROWS_DOWN] [PROT_GROWSDOWN]: Try using PROT_GROWSDOWN flag + and fall back if it fails with EINVAL. + [_STACK_GROWS_UP] [PROT_GROWSUP]: Likewise for PROT_GROWSUP. + +2003-09-25 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: Include + sysdeps/i386/dl-procinfo.c instead of + sysdeps/unix/sysv/linux/i386/dl-procinfo.c. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Avoid using + #include_next. + +2003-09-25 Ulrich Drepper + + * posix/regcomp.c (peek_token): Remove recent changes for anchor + handling again. + (parse_reg_exp): Likewise. + * posix/regex.h: Remove RE_CARET_ANCHORS_HERE. + + * csu/Makefile ($(objpfx)version-info.h): Fix sed script to handle + banners. + + * nis/nis_table.c (nis_list): Always strdup string used with + ibreq->ibr_name. Add several NULL pointer checks. + + * nis/nss_nisplus/nisplus-alias.c: Add check for NULL return value + of nis_list. + * 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-netgrp.c: Likewise. + * nis/nss_nisplus/nisplus-network.c: Likewise. + * nis/nss_nisplus/nisplus-proto.c: Likewise. + * nis/nss_nisplus/nisplus-publickey.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. + + * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Define PROT_GROWSDOWN + and PROT_GROWSUP. + * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/cris/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Likewise. + +2003-09-25 Jakub Jelinek + + * misc/syslog.c: Include locale.h. + (vsyslog): Add date always in C locale %h %e %T format. + +2003-09-24 Paul Eggert + + * argp/argp-fmtstream.c (__argp_fmtstream_ensure): Check for + size_t overflow when reallocating storage. + * argp/argp-help.c (make_hol, hol_append): Likewise. + (SIZE_MAX): New macro. + +2003-08-07 Alfred M. Szmidt + + * sysdeps/mach/hurd/bits/libc-lock.h + (__libc_cleanup_push, __libc_cleanup_pop): New macros. + +2003-08-01 Alfred M. Szmidt + + * sysdeps/i386/dl-procinfo.h: New file, contents taken from ... + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: ... here. + #include_next dl-procinfo.h to get them. + (_DL_HWCAP_COUNT): Moved to sysdeps/i386/dl-procinfo.h. + (_DL_PLATFORMS_COUNT): Likewise. + (_DL_FIRST_PLATFORM): Likewise. + (_DL_HWCAP_PLATFORM): Likewise. + (HWCAP_I386_FPU, HWCAP_I386_VME, HWCAP_I386_DE, HWCAP_I386_PSE, + HWCAP_I386_TSC, HWCAP_I386_MSR, HWCAP_I386_PAE, HWCAP_I386_MCE, + HWCAP_I386_CX8, HWCAP_I386_APIC, HWCAP_I386_SEP, HWCAP_I386_MTRR, + HWCAP_I386_PGE, HWCAP_I386_MCA, HWCAP_I386_CMOV, + HWCAP_I386_FCMOV, HWCAP_I386_MMX, HWCAP_I386_OSFXSR, + HWCAP_I386_XMM, HWCAP_I386_XMM2, HWCAP_I386_AMD3D, + HWCAP_IMPORTANT): Likewise. + (_DL_PROCINFO_H_): Likewise. + (_dl_hwcap_string, _dl_platform_string, _dl_string_hwcap): Likewise. + (_dl_string_platform): Likewise. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Moved to ... + * sysdeps/i386/dl-procinfo.c: ... here, new file. + +2003-09-24 Ulrich Drepper + + * sysdeps/unix/sysv/linux/dl-execstack.c + (_dl_make_stack_executable): Remember that we changed the permission. + + * sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of + __libc_stack_end. Patch by David Mosberger. + +2003-09-24 Jakub Jelinek + + * elf/Versions (ld): Export __libc_stack_end@GLIBC_2.1 instead of + __libc_stack_end@GLIBC_PRIVATE. + + * sysdeps/generic/dl-sysdep.c (DL_STACK_END): Define if not defined. + (_dl_sysdep_start): Set __libc_stack_end here. + * sysdeps/alpha/dl-machine.h (RTLD_START): Remove setting of + __libc_stack_end. + * sysdeps/arm/dl-machine.h (RTLD_START): Likewise. + * sysdeps/cris/dl-machine.h (RTLD_START): Likewise. + * sysdeps/i386/dl-machine.h (RTLD_START): Likewise. + * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. + * sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise. + * sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise. + * sysdeps/sh/dl-machine.h (RTLD_START): Likewise. + * sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise. + * sysdeps/ia64/dl-machine.h (DL_STACK_END): Define. + * sysdeps/sparc/sparc32/dl-machine.h (DL_STACK_END): Define. + (RTLD_START): Remove setting of __libc_stack_end. + * sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Define. + (RTLD_START): Remove setting of __libc_stack_end. + +2003-09-24 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add gnu_dev_ prefix to + function definitions. Adjust macro expansions accordingly. + * sysdeps/unix/sysv/linux/Versions: Add gnu_dev_ prefix to major, + minor, makedev name. + * sysdeps/unix/sysv/linux/makedev.c: Likewise. + +2003-09-24 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev): + Add __THROW. + +2003-09-24 Jakub Jelinek + + * nscd/Makefile (others): Add nscd before including ../Rules. + +2003-09-24 Ulrich Drepper + + * nscd/Makefile: Add rules to build nscd as a PIE. + * configure.in: Check for -fpie and -pie compiler options. + * config.make.in (have-fpie): Define. + +2003-09-23 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sys/sysmacros.h: Adjust for larger + kernel dev_t size. + * sysdeps/unix/sysv/linux/alpha/sys/sysmacros.h: Removed. + * sysdeps/unix/sysv/linux/sparc/sys/sysmacros.h: Removed. + * sysdeps/unix/sysv/linux/makedev.c: New file. + * sysdeps/unix/sysv/linux/Dist: Add makedev.c. + * sysdeps/unix/sysv/linux/Makefile [subdir=misc] + (sysdep_routines): Add makedev. + * sysdeps/unix/sysv/linux/Versions [libc] (GLIBC_2.3.3): Add + major, minor, makedev. + * sysdeps/unix/sysv/linux/ustat.c (ustat): Adjust for 32-bit + kernel dev_t. + * sysdeps/unix/sysv/linux/alpha/ustat.c: Removed. + * sysdeps/unix/sysv/linux/xmknod.c (__xmknod): Likewise. + * sysdeps/unix/sysv/linux/alpha/xmknod.c: Removed. + Code by Alexander Viro . + +2003-09-23 Ulrich Drepper + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions [libc] + (GLIBC_2.3.3): Add setcontext, getcontext, swapcontext, and + makecontext. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct change + for include Altivec support for PPC32. It was not compatible. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: Adjust + offsets for ucontext_t change. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Adjust + for ucontext_t change. Add compatibility code. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. + Patch by Paul Mackerras . + +2003-02-25 Randolph Chung + + * sysdeps/hppa/Makefile: Include compat code in build. + * sysdeps/hppa/libgcc-compat.c: New file. + * sysdeps/hppa/Dist: Add libgcc-compat.c. + * sysdeps/hppa/Versions [GLIBC_2.2]: Add __clz_tab. + +2003-09-23 Roland McGrath + + * elf/rtld.c (dl_main): In rtld_is_main case, reinitialize + GL(dl_stack_flags) according to rtld's own PT_GNU_STACK. + Move GL(dl_make_stack_executable_hook) initialization up. + * elf/tst-execstack-prog.c: New file. + * elf/Makefile (tests-execstack-yes): Add it. + (LDFLAGS-tst-execstack-prog): New variable. + +2003-09-23 Jakub Jelinek + + * sysdeps/x86_64/dl-machine.h (RTLD_START): Set __libc_stack_end + before calling _dl_start, using %rip relative access. + Use %rip relative access to _dl_skip_args, _rtld_local._dl_loaded + and _dl_fini. + +2003-09-23 Roland McGrath + + * sysdeps/i386/dl-machine.h (RTLD_START): Set __libc_stack_end before + calling _dl_start, using GOTOFF access. + + * configure.in (libc_cv_z_execstack): New check. + * configure: Regenerated. + * config.make.in (have-z-execstack): New variable set by it. + * elf/tst-execstack.c: New file. + * elf/tst-execstack-mod.c: New file. + * elf/tst-execstack-needed.c: New file. + * elf/Makefile (tests-execstack-yes, modules-execstack-yes): New + variables. + (tests, modules-names): Conditionally include them. + (distribute): Add tst-execstack-mod.c here. + ($(objpfx)tst-execstack, $(objpfx)tst-execstack.out): New targets. + (LDFLAGS-tst-execstack, LDFLAGS-tst-execstack-mod): New variables. + ($(objpfx)tst-execstack-needed): New target. + (LDFLAGS-tst-execstack-needed): New variable. + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_stack_flags + and _dl_make_stack_executable_hook. Declare _dl_make_stack_executable. + * elf/rtld.c (_rtld_global): Add initializer for _dl_stack_flags. + (dl_main): Reset _dl_stack_flags according to PT_GNU_STACK phdr. + Initialize _dl_make_stack_executable_hook. + * elf/dl-support.c: Define those new variables. + (_dl_non_dynamic_init): Scan phdrs for PT_GNU_STACK. + (_dl_phdr): Fix type. + * elf/dl-load.c (_dl_map_object_from_fd): Grok PT_GNU_STACK phdr and + enable execute permission for the stack if necessary. + * sysdeps/generic/dl-execstack.c: New file. + * elf/Makefile (dl-routines): Add it. + * elf/Versions (ld: GLIBC_PRIVATE): Add _dl_make_stack_executable. + * sysdeps/unix/sysv/linux/dl-execstack.c: New file. + +2003-09-23 Ulrich Drepper + + * sysdeps/posix/sprofil.c (pc_to_index): Remove inline marker. + +2003-09-20 Alfred M. Szmidt + + * sysdeps/generic/utmp_file.c (setutent_file, LOCK_FILE, + UNLOCK_FILE, setutent_file): Use fcntl_not_cancel instead of + __fcntl_nocancel. + +2003-09-22 Ulrich Drepper + + * malloc/malloc.c: Include . + +2003-09-20 Paolo Bonzini + + * posix/regcomp.c (build_word_op): Rename like... + (build_charclass_op): ...this. Accept two extra parameters, + CLASS_NAME and EXTRA. Add EXTRA to the result, not only _. + (peek_token): Accept \s and \S as OP_SPACE and OP_NOTSPACE. + (parse_expression): Replace build_word_op with + build_charclass_op, add new arguments, accept OP_SPACE + and OP_NOTSPACE. + * posix/regex_internal.h (re_token_type_t): Add OP_SPACE + and OP_NOTSPACE. + + * posix/regcomp.c (peek_token): Don't look back for ( or | + to check whether to treat a caret as special. It fails + for the (extended) regex \(^. + (parse, parse_reg_exp): Pass RE_CARET_ANCHORS_HERE to fetch_token. + * posix/regex.h: Define RE_CARET_ANCHORS_HERE. + + * posix/regexec.c: Check out of bounds value before shifting. + + * posix/regex_internal.h: Define __attribute for non-gcc. + +2003-09-22 Jakub Jelinek + + * include/atomic.h (atomic_compare_and_exchange_val_rel, + atomic_compare_and_exchange_bool_rel): Swap oldval/newval arguments + to avoid confusion. + + * sysdeps/unix/opendir.c: Include string.h. + +2003-09-22 Ulrich Drepper + + * timezone/zdump.c: Update from tzcode2003c. + * timezone/zic.c: Likewise. + * timezone/leapseconds: Update from tzdata2003c. + +2003-09-19 Ulrich Drepper + + * elf/Makefile ($(objpfx)librtld.os): Create link map also for + final build to ease quality control. + + * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): If compiled for + ld.so, don't include NULL buffer pointer handling. + +2003-09-19 Jakub Jelinek + + * dlfcn/dlopen.c (dlopen): Add static_link_warning. + +2003-09-18 Jakub Jelinek + + * libio/memstream.c (open_memstream): Use _IO_init instead of + _IO_old_init. + +2003-09-17 Ulrich Drepper + + * sysdeps/generic/wordexp.c (eval_expr_val): Use strtol since we + have to recognize octal and hexadecimal numbers as well. Simplify + function, signs are handled in strtol. + * posix/wordexp-test.c: Add tests for octal and hexadecimal + numbers in arithmetic expressions. + +2003-09-17 Jakub Jelinek + + * elf/Makefile (distribute): Add tst-alignmod.c. + (tests): Add tst-align. + (modules-names): Add tst-alignmod. + (CFLAGS-tst-align.c, CFLAGS-tst-alignmod.c): Add + $(stack-align-test-flags). + ($(objpfx)tst-align): Depend on libdl. + ($(objpfx)tst-align.out): Depend on tst-alignmod.so. + * elf/tst-align.c: New file. + * elf/tst-alignmod.c: New file. + * misc/Makefile (CFLAGS-tst-tsearch.c): Add $(stack-align-test-flags). + * misc/tst-tsearch.c: Include tst-stack-align.h. + (stack_align_check): New array. + (cmp_fn, walk_action): Use TEST_STACK_ALIGN (). + (main): Report error if stack was not enough aligned + in cmp_fn or walk_action. + * stdlib/Makefile (CFLAGS-tst-qsort.c): Add $(stack-align-test-flags). + * stdlib/tst-qsort.c: Include tst-stack-align.h. + (align_check): New var. + (compare): Use TEST_STACK_ALIGN () macro. + (main): Report error if stack was not enough aligned in compare. + * sysdeps/i386/i686/Makefile (stack-align-test-flags): Remove + unneeded -mpreferred-stack-boundary=4. + * sysdeps/x86_64/tst-stack-align.h: New file. + + * libio/memstream.c (_IO_wmem_jumps): Remove unused structure. + (_IO_wmem_sync, _IO_wmem_finish): Remove unused functions. + +2003-09-17 Philip Blundell + + * sysdeps/arm/dl-machine.h (CALL_ROUTINE): Deleted. + (BX): Define. + (ELF_MACHINE_RUNTIME_TRAMPOLINE): Optimise a little. + + * sysdeps/arm/sysdep.h (DO_RET): New. + + * sysdeps/unix/sysv/linux/arm/vfork.S: Add #error if __NR_vfork + required but not defined. Improve test of error code. + +2003-09-17 Jakub Jelinek + + * sysdeps/i386/Makefile (stack-align-test-flags): Add + -malign-double -mpreferred-stack-boundary=4. + +2003-09-17 Ulrich Drepper + + * sysdeps/posix/utimes.c (__utimes): Truncate instead of round. + * sysdeps/unix/sysv/linux/utimes.c (__utimes): Likewise. + +2003-09-15 Jakub Jelinek + + * sysdeps/i386/Makefile (sysdep-CFLAGS): If not in math or csu + subdir, add -mpreferred-stack-boundary=4, with few exceptions. + +2003-09-17 Jakub Jelinek + + * Makeconfig (stack-align-test-flags): Set. + * stdlib/Makefile (CFLAGS-tst-bsearch.c): Add + $(stack-align-test-flags). + * stdlib/tst-bsearch.c: Include tst-stack-align.h. + (align_check): New var. + (comp): Use TEST_STACK_ALIGN macro. + (do_test): Fail if align_check != 1. + * sysdeps/generic/tst-stack-align.h: New file. + * sysdeps/i386/i686/Makefile (stack-align-test-flags): Add -msse. + * sysdeps/i386/i686/tst-stack-align.h: New file. + +2003-09-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/clone.S: Make sure child gets a + stack which is aligned (mod 16). + +2003-09-17 Uwe Reimann + Hans-Peter Nilsson + + * sysdeps/cris/dl-machine.h (elf_machine_type_class): Classify + R_CRIS_GLOB_DAT as ELF_RTYPE_CLASS_PLT. Clarify comment. + +2003-09-17 Jakub Jelinek + + * dirent/scandir.c: Include bits/libc-lock.h. + (struct scandir_cancel_struct): New type. + (cancel_handler): New function. + (SCANDIR): Add __libc_cleanup_{push,pop}, save state into + scandir_cancel_struct. + +2003-09-16 Ulrich Drepper + + * sysdeps/unix/sysv/linux/Dist: Remove internal_statvfs.c. + * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): + Add internal_statvfs. + * sysdeps/unix/sysv/linux/fstatvfs.c: Call __internal_statvfs + instead of including "internal_statvfs.c". + * sysdeps/unix/sysv/linux/statvfs.c: Likewise. + * sysdeps/unix/sysv/linux/internal_statvfs.c: Make it a real function. + Add code to avoid the stat calls on all the reported mount points + when we can determine mismatch in advance. + * sysdeps/unix/sysv/linux/linux_fsinfo.h: Add AUTOFS_SUPER_MAGIC and + USBDEVFS_SUPER_MAGIC. + +2003-09-16 Jakub Jelinek + + * posix/Versions (sched_getaffinity, sched_setaffinity): Change + from GLIBC_2.3.2 to GLIBC_2.3.3 symbol version. + +2003-09-16 Bruno Haible + + * intl/tst-gettext2.sh: Set GCONV_PATH and LOCPATH only after + invoking msgfmt, not before. + +2003-09-15 Jakub Jelinek + + * argp/argp.h (argp_parse, __argp_parse): Remove __THROW. + * argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add + $(uses-callbacks). + * dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise. + * elf/Makefile (CFLAGS-dl-iterate-phdr.c, + CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks). + * elf/dl-iteratephdr.c (cancel_handler): New function. + (__dl_iterate_phdr): Add __libc_cleanup_{push,pop}. + * elf/link.h (dl_iterate_phdr): Remove __THROW. + * io/Makefile (CFLAGS-fts.c): Merge into one assignment. + Add $(uses-callbacks). + (CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks). + * misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change + $(exceptions) to $(uses-callbacks). + * Makeconfig (uses-callbacks): Set to $(exceptions). + * posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add + $(uses-callbacks). + * stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c): + Likewise. + +2003-09-15 Andreas Schwab + + * sysdeps/m68k/setjmp.c: Add hidden_def. + +2003-09-14 Ulrich Drepper + + * libio/memstream.c (open_memstream): Don't allow wide char operations. + + * dirent/dirent.h: Remove __THROW from scandir. + +2003-09-14 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/mmap.S: Use sys_mmap2 if it's known + to be available. + + * sysdeps/unix/sysv/linux/arm/mmap64.S: Optimise code a little. + + * sysdeps/arm/memset.S: Rewrite. + +2003-09-12 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New. + (__SSIZE_T_TYPE): Define to __SWORD_TYPE for gcc 2.95.x and + __SLONGWORD_TYPE otherwise. + +2003-09-14 Ulrich Drepper + + * io/Makefile (CFLAGS-ftw.c): Add -fexceptions. + (CFLAGS-ftw64.c): Likewise. + +2003-09-13 Ulrich Drepper + + * nscd/Makefile (CFLAGS-nscd_getpw_r.c): Add -fexceptions. + (CFLAGS-nscd_getgr_r.c): Likewise. + (CFLAGS-nscd_gethst_r.c): Likewise. + +2003-09-12 Ulrich Drepper + + * sysdeps/unix/sysv/linux/if_index.c: Use only non-cancelable + interfaces. + + * grp/Makefile (CFLAGS-getgrgid_r.c, CFLAGS-getgrnam_r.c, + CFLAGS-fgetgrent.c, CFLAGS-fgetgrent_r.c, CFLAGS-putgrent.c, + CFLAGS-initgroups.c, CFLAGS-getgrgid.c): Add -fexceptions. + * inet/Makefile (CFLAGS-either_ntoh.c, CFLAGS-either_hton.c, + CFLAGS-getnetgrent.c, CFLAGS-getnetgrent_r.c): Likewise. + * io/Makefile (CFLAGS-posix_fallocate.c, CFLAGS-posix_fallocate64.c): + Likewise. + * misc/Makefile (CFLAGS-err.c): Likewise. + * posix/Makefile (CFLAGS-getaddrinfo.c, CFLAGS-spawn.c, + CFLAGS-spawnp.c, CFLAGS-spawni.c, CFLAGS-pause.c, CFLAGS-glob.c, + CFLAGS-glob64.c): Likewise. + * pwd/Makefile (CFLAGS-getpw.c): Likewise. + * shadow/Makefile (CFLAGS-fgetspent.c, CFLAGS-fgetspent_r.c, + CFLAGS-putspent.c, CFLAGS-getspnam.c, CFLAGS-getspnam_r.c): Likewise. + * stdio-common/Makefile (CFLAGS-cuserid.c): Likewise. + * sunrpc/Makefile (CFLAGS-openchild.c): Likewise. + + * stdlib/Makefile (CFLAGS-mkstemp.c): Remove definition. + + * libio/stdio.h: Remove __THROW from cuserid prototype. + + * locale/loadarchive.c: Use only non-cancelable interfaces. + * resolv/herror.c (herror): Likewise. + + * malloc/hooks.c: Before using IO stream mark stream so it uses + only non-cancelable interfaces. + * malloc/malloc.c: Likewise. + * posix/getopt.c: Likewise. + + +2003-09-11 Jakub Jelinek + + * Makerules (LDFLAGS-c.so): Remove -u __register_frame. + +2003-09-12 Ulrich Drepper + + * stdio-common/stdio_ext.h: Mark most functions with __THROW. + + * misc/err.h: Remove __THROW from all prototypes. + + * posix/getopt.h (__THROW): Define if not already defined. Add + __THROW to the getopt functions. + +2003-09-11 Ulrich Drepper + + * io/Makefile (CFLAGS-lockf.c): Add -fexceptions. + (CFLAGS-fts.c): Likewise. + * io/fcntl.h: Remove __THROW from lockf prototypes. + * io/fts.h: Remove most __THROW. + +2003-09-11 H.J. Lu + + * elf/tls-macros.h (TLS_IE): Add a stop bit for ia64. + (TLS_LD): Likewise. + (TLS_GD): Likewise. + +2003-09-11 Jakub Jelinek + + * libio/fileops.c (_IO_new_file_overflow): Add INTUSE to + _IO_free_backup_area call. + +2003-09-10 Chris Demetriou + + * sysdeps/unix/sysv/linux/mips/pread64.c (__libc_pread64): Fix + syscall invocation. + * sysdeps/unix/sysv/linux/mips/pwrite64.c (__libc_pwrite64): Likewise. + * sysdeps/unix/sysv/linux/mips/pread.c (__libc_pread): Likewise. + Also, only assert off_t size is 4 for N32 and O32, and clean up + white space. + * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Likewise. + +2003-09-10 Roland McGrath + + * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): + Don't use c_ispeed under [! _HAVE_STRUCT_TERMIOS_C_ISPEED]. + Don't use c_ospeed under [! _HAVE_STRUCT_TERMIOS_C_OSPEED]. + * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. + Reported by Daniel Jacobowitz . + +2003-09-10 Jakub Jelinek + + * string/Makefile (strop-tests): Add memccpy. + * string/test-memccpy.c: New test. + +2003-09-09 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): Add + siginfo_t * argument before, change into struct ucontext *. + (SIGCONTEXT_EXTRA_ARGS): Define to _si,. + (GET_PC, GET_FRAME, GET_STACK): Adjust for ctx being a pointer + instead of structure. + * sysdeps/unix/sysv/linux/x86_64/register-dump.h (REGISTER_DUMP): + Likewise. + +2003-09-09 Ulrich Drepper + + * string/stratcliff.c (main): Check memccpy. + +2003-04-11 Jes Sorensen + + * sysdeps/ia64/memccpy.S: When recovering for src_aligned and the + character is found during recovery, use correct register when + determining the position of the found character. + +2003-04-01 Jes Sorensen + + * sysdeps/ia64/memccpy.S: Use speculatively loads for readahead to + avoid segfaults when reading from unmapped pages. For aligned + reload and continue, for misaligned, roll back and use byte copy. + Save ar.ec on entry and restore on exit. + +2003-09-09 Chris Demetriou + + * sysdeps/unix/mips/sysdep.h (PSEUDO_END): Undef before defining. + +2003-09-08 Chris Demetriou + + * sysdeps/mips/mips64/n32/Implies: Move ieee754/ldbl-128 to + the top of the list. + * sysdeps/mips/mips64/n64/Implies: Likewise. + +2003-09-08 Roland McGrath + + * sysdeps/unix/sysv/linux/speed.c + (cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED]. + (cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED]. + * sysdeps/unix/sysv/linux/bits/termios.h + (_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + +2003-09-08 Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/register-dump.h: Undo last change. + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Likewise. + +2003-09-08 Jakub Jelinek + + * sysdeps/generic/bits/types.h (__quad_t): Make long int if 64-bit. + (__u_quad_t): Make unsigned long int if 64-bit. + (__SQUAD_TYPE): Make long int if 64-bit. + (__UQUAD_TYPE): Make unsigned long int if 64-bit. + * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove. + +2003-09-08 Ulrich Drepper + + * Makefile (tests): Run check-c++-types.sh if possible. + * scripts/check-c++-types.h: New file. + * scripts/data/c++-types-i386-linux-gnu.data: New file. + +2003-09-08 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): + Use struct sigcontext. + + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): + Use struct sigcontext. + (GET_PC): Adopt. + (GET_FRAME): Likewise. + (GET_STACK): Likewise. + +2003-09-08 Wolfram Gloger + + * malloc/malloc.c (sYSMALLOc): Move foreign sbrk accounting into + contiguous case. Bug report from Prem Gopalan . + (mALLOPt): Avoid requirement of C99. + +2003-09-08 Ulrich Drepper + + * libio/bug-ftell.c: Include . + (main): Mark cp as const. + +2003-09-07 Jakub Jelinek + + * sysdeps/unix/sysv/linux/syscalls.list (fcntl): Remove. + * sysdeps/unix/sysv/linux/x86_64/fcntl.c: Remove. + +2003-09-05 Roland McGrath + + * sysdeps/unix/sysv/linux/tcgetattr.c (__tcgetattr): Fill in c_ispeed + and c_ospeed fields. + * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Set c_ospeed field. + (cfsetispeed): Set c_ispeed field. + * sysdeps/unix/sysv/linux/tcsetattr.c (IBAUD0): Define unconditionally + to match corresponding speed.c code. + +2003-09-06 Ulrich Drepper + + * libio/wfileops.c (_IO_wfile_underflow): Mark beginning of the + narrow character buffer. + * libio/Makefile: Add rules to build and run bug-ftell. + * libio/bug-ftell.c: New file. + + * stdio-common/vfprintf.c: Don't use the first grouping number twice. + + * stdio-common/vfscanf.c (vfscanf): Fix recognition of characters + matching the decimal point and possibly leading the thousands + separator. This caused the recognition of thousands separators to + always fail. + +2003-09-05 Ulrich Drepper + + * libio/fileops.c (_IO_new_file_overflow): Handle switching to + write mode from read in backup buffer. + * libio/Makefile (tests): Add bug-ungetc2. + * libio/bug-ungetc2.c: New file. + +2003-09-05 Roland McGrath + + * nss/getXXbyYY.c (FUNCTION_NAME): Remove unused variable. + +2003-09-04 Roland McGrath + + * sysdeps/mach/hurd/mmap.c (__mmap): If io_map fails with MIG_BAD_ID, + EOPNOTSUPP, or ENOSYS, change it to ENODEV. + +2003-09-04 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ): + Fix a typo. + +2003-09-05 Andreas Jaeger + + * sysdeps/i386/bits/string.h (__memrchr): Do addition in assembler + to make it conforming C. + * sysdeps/i386/i486/bits/string.h (__memrchr): Likewise. + + * sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Change + prototype to use variable argument lists and get the possible one + argument via va_arg. + * sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Likewise. + * sysdeps/unix/sysv/linux/x86_64/fcntl.c: New. + +2003-09-04 Ulrich Drepper + + * posix/unistd.h: Add back __THROW to sysconf, pathconf, fpathconf. + + * sysdeps/unix/sysv/linux/pathconf.c (__statfs_filesize_max): + Report correct value for vxfs. + * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define VXFS_SUPER_MAGIC. + + * gmon/gmon.c: Use only not-cancelable syscalls to write profiling + data. + + * sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all + over the place. It would be allowed to have these functions as + cancellation points but the cleanup would be ugly and a lot of + work. + + * sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define. + * sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define. + + * include/fcntl.h (__fcntl_nocancel): Declare. + * sysdeps/unix/sysv/linux/fcntl.c: New file. + * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable + cancellation if absolutely needed. + (__fcntl_nocancel): Define. + + * posix/unistd.h (gethostid): Remove __THROW. Clarify comment. + * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add + -fexceptions. + * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use + extend_alloca. + + * resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status + instead of __close. + + * nss/getXXbyYY.c (FUNCTION_NAME): Add a few casts. Remove + unnecessary errno handling. + + * nss/getXXbyYY_r.c (INTERNAL): Use better variable name. + Initialize it in all cases. Change it to be a bit more like the + code we had before. + +2003-09-04 Jakub Jelinek + + * libio/fileops.c (_IO_file_read, _IO_new_file_write): Add + __builtin_expect. + (_IO_file_open): Likewise. Use close_not_cancel. + +2003-09-04 Ulrich Drepper + + * libio/libio.h: Define _IO_FLAGS2_NOTCANCEL. + * libio/fileops.c [_LIBC]: Remove close macro. + (_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel. + (_IO_new_file_open): Recognize 'c' flag in mode string. + (_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel. + (_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use + write_not_cancel. + * iconv/gconv_conf.c: Use fopen with 'c' mode flag. + * inet/rcmd.c: Likewise. + * inet/ruserpass.c: Likewise. + * intl/localealias.c: Likewise. + * malloc/mtrace.c: Likewise. + * misc/getpass.c: Likewise. + * misc/getttyent.c: Likewise. + * misc/mntent_r.c: Likewise. + * misc/getusershell.c: Likewise. + * nss/nsswitch.c: Likewise. + * resolv/res_hconf.c: Likewise. + * resolv/res_init.c: Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. + * time/getdate.c: Likewise. + * time/tzfile.c: Likewise. + * misc/fstab.h: Undo last change. + * misc/mntent.h: Likewise. + * misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and + CFLAGS-fstab.c definition. + +2003-09-04 Jakub Jelinek + + * sysdeps/generic/unwind.h (_Unwind_GetBSP): Add prototype. + +2003-09-03 Ulrich Drepper + + * nss/getXXbyYY_r.c (INTERNAL): Explicitly set errno and avoid + returning ERANGE if this wasn't intended. + +2003-09-03 Jakub Jelinek + + * intl/loadmsgcat.c (open, close, read, mmap, munmap): Define as + function-like macros. + +2003-09-03 Ulrich Drepper + + * grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions. + (CFLAGS-getgrent.c): Likewise. + * pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions. + (CFLAGS-getpwent.c): Likewise. + * shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions. + (CFLAGS-getspent.c): Likewise. + + * inet/Makefile: Add -fexceptions to CFLAGS for the various + getXXent and getXXbyYY functions. + + * locale/loadlocale.c: Use not-cancelable variants of open, close, + and read. + +2003-09-02 Jakub Jelinek + + * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove + rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, rt_sigqueueinfo and + rt_sigpending. + * sysdeps/unix/sysv/linux/alpha/sigaction.c (__syscall_rt_sigaction): + New prototype. + * sysdeps/unix/sysv/linux/arm/syscalls.list (__syscall_*): Remove + unused __syscall_ stubs. + * sysdeps/unix/sysv/linux/arm/Makefile (sysdep_routines): Remove + rt_*. + * sysdeps/unix/sysv/linux/cris/Makefile: Removed. + * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list + (__syscall_recvfrom, __syscall_sendto): Remove unused aliases. + * sysdeps/unix/sysv/linux/mips/syscalls.list (__syscall_*): Remove + unused __syscall_ stubs. + * sysdeps/unix/sysv/linux/mips/Makefile (sysdep_routines): Remove rt_*. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list + (__syscall_*): Remove unused __syscall_ stubs. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list + (__syscall_*): Likewise. + * sysdeps/unix/sysv/linux/powerpc/Makefile (sysdep_routines): Remove + rt_*. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__syscall_*): + Remove unused __syscall_ stubs. + * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_routines): Remove rt_*. + * sysdeps/unix/sysv/linux/rt_sigaction.c: Removed. + * sysdeps/unix/sysv/linux/rt_sigpending.c: Removed. + * sysdeps/unix/sysv/linux/rt_sigprocmask.c: Removed. + * sysdeps/unix/sysv/linux/rt_sigqueueinfo.c: Removed. + * sysdeps/unix/sysv/linux/rt_sigreturn.c: Removed. + * sysdeps/unix/sysv/linux/rt_sigsuspend.c: Removed. + * sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Removed. + * sysdeps/unix/sysv/linux/s_pread64.c: Removed. + * sysdeps/unix/sysv/linux/s_pwrite64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/gethostname.c: Remove unused + __syscall_* prototypes. + * sysdeps/unix/sysv/linux/alpha/ipc_priv.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise. + * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fchown.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getegid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getmsg.c: Likewise. + * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getresgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getresuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getrlimit.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lchown.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lockf64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/putmsg.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setregid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigpending.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. + * sysdeps/unix/sysv/linux/mips/ftruncate64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/mips/truncate64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/ustat.c: Likewise. + * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigpending.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigprocmask.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/execve.c: Likewise. + * sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise. + * sysdeps/unix/sysv/linux/reboot.c: Likewise. + * sysdeps/unix/sysv/linux/_exit.c: Likewise. + * sysdeps/unix/sysv/linux/ftruncate64.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/gai_sigqueue.c: Likewise. + * sysdeps/unix/sysv/linux/readahead.c: Likewise. + * sysdeps/unix/sysv/linux/getcwd.c: Likewise. + * sysdeps/unix/sysv/linux/sigwait.c: Likewise. + * sysdeps/unix/sysv/linux/getdents.c: Likewise. + * sysdeps/unix/sysv/linux/readv.c: Likewise. + * sysdeps/unix/sysv/linux/getpriority.c: Likewise. + * sysdeps/unix/sysv/linux/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/ipc_priv.h: Likewise. + * sysdeps/unix/sysv/linux/llseek.c: Likewise. + * sysdeps/unix/sysv/linux/sysctl.c: Likewise. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/mmap64.c: Likewise. + * sysdeps/unix/sysv/linux/ustat.c: Likewise. + * sysdeps/unix/sysv/linux/poll.c: Likewise. + * sysdeps/unix/sysv/linux/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/writev.c: Likewise. + * sysdeps/unix/sysv/linux/pread.c: Likewise. + * sysdeps/unix/sysv/linux/ptrace.c: Likewise. + * sysdeps/unix/sysv/linux/sigpending.c: Likewise. + * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. + * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. + * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. + * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. + * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. + * sysdeps/unix/sysv/linux/truncate64.c: Likewise. + * sysdeps/unix/sysv/linux/xmknod.c: Likewise. + * sysdeps/unix/sysv/linux/xstat64.c: Likewise. + +2003-09-02 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Revert last change. + * sysdeps/unix/sysv/linux/powerpc/syscalls.list: New file. + * sysdeps/unix/sysv/linux/sparc/syscalls.list: New file. + +2003-09-02 Ulrich Drepper + + * stdio-common/Makefile (CFLAGS-vprintf.c): Add -fexceptions. + + * intl/loadmsgcat.c: For _LIBC, call not cancelable versions of + open, close, and read. + + * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Also define + *_nocancel name. + + * sysdeps/unix/sysv/linux/i386/syscalls.list: Add waitpid. + + * libio/Makefile (CFLAGS-oldtmpfile.c): Add -fexceptions. + * sysdeps/generic/tmpfile.c (tmpfile): Use __unlink instead of remove. + * libio/oldtmpfile.c (__old_tmpfile): Likewise. + + * misc/Makefile (CFLAGS-getusershell.c): Add -fexceptions. + + * io/Makefile (CFLAGS-statfs.c): Add -fexceptions. + (CFLAGS-fstatfs.c): Likewise. + (CFLAGS-statvfs.c): Likewise. + (CFLAGS-fstatvfs.c): Likewise. + +2003-09-01 Ulrich Drepper + + * misc/Makefile (CFLAGS-getsysstats.c): Add -fexceptions. + * posix/unistd.h: Remove __THROW from pathconf, fpathconf, + sysconf. + * posix/Makefile (CFLAGS-sysconf.c): Add -fexceptions. + (CFLAGS-pathconf.c): Likewise. + (CFLAGS-fpathconf.c): Likewise. + + * misc/Makefile (CFLAGS-fstab.c): Add -fexceptions. + * misc/fstab.h: Remove all __THROW. + * misc/Makefile (CFLAGS-mntent.c): Add -fexceptions. + (CFLAGS-mntent_r.c): Likewise. + * misc/mntent.h: Remove most __THROW. + + * misc/Makefile (CFLAGS-mkstemp.c): Add -fexceptions. + (CFLAGS-mkstemp64.c): Likewise. + + * sysdeps/generic/wordexp.c (parse_comm): Disable cancellation + around call to exec_comm. + * posix/wordexp.h: Remove __THROW from wordexp. + * posix/Makefile (CFLAGS-wordexp.c): Add -fexceptions. + + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Use + not-cancelable functions. + + * libio/Makefile (CFLAGS-oldiofopen.c): Add -fexceptions. + (CFLAGS-iofopen.c): Likewise. + (CFLAGS-iofopen64.c): Likewise. + + * stdlib/fmtmsg.c (fmtmsg): Disable cancellation around output + functions. + * stdlib/Makefile (CFLAGS-fmtmsg.c): Add -fexceptions. + * stdlib/fmtmsg.h: Remove __THROW from fmtmsg. + + * stdlib/stdlib.h: Remove __THROW from posix_openpt and getpt. + * login/Makefile (CFLAGS-getpt.c): Add -fexceptions. + +2003-09-01 Thorsten Kukuk + + * nis/nss_compat/compat-spwd.c (getspnam_plususer): Return + NSS_STATUS_SUCCESS if entry was found. + (getspent_next_file): Store user in blacklist after entry + was found, use innetgr. + +2003-09-01 Jakub Jelinek + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise.c: New. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: New. + + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Fix tls offset + computation for TCB_AT_TP. Support l_firstbyte_offset != 0 for + DTV_AT_TP, optimize. + +2003-08-31 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/Versions: Add posix_fadvise64 and + posix_fallocate64 at GLIBC_2.3.3. + * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO_ERRVAL): Define. + (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. + +2003-08-08 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove __syscall_ + functions. + +2003-08-31 Ulrich Drepper + + * libio/libioP.h (_IO_acquire_lock_fct): Define as inline function. + Code by Richard Henderson. + +2003-08-31 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/Versions: Add posix_fadvise64 and + posix_fallocate64 at GLIBC_2.3.3. + +2003-08-31 Ulrich Drepper + + * sysdeps/x86_64/bsd-_setjmp.S: Use HIDDEN_JUMPTARGET. + * include/setjmp.h: Add libc_hidden_proto for __sigsetjmp. + +2003-08-30 Jakub Jelinek + + * sysdeps/generic/sysdep.h (cfi_window_save, CFI_WINDOW_SAVE): Define. + * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Allow file to be + included multiple times. + * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Pass + ptid, tls, ctid arguments to the kernel. + * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize): + Use INTERNAL_SYSCALL instead of __syscall_getpagesize. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c + (__libc_sigaction): Use INLINE_SYSCALL instead of + __syscall_rt_sigaction. + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list + (__syscall_getgroups, __syscall_getpagesize, __syscall__llseek, + __syscall_setfsgid, __syscall_setfsuid, __syscall_setgid, + __syscall_setgroups, __syscall_setregid, __syscall_setreuid, + __syscall_ipc, __syscall_setuid, __syscall_rt_sigaction, + __syscall_rt_sigpending, __syscall_rt_sigprocmask, + __syscall_rt_sigqueueinfo, __syscall_rt_sigsuspend, + __syscall_rt_sigtimedwait): Remove unneeded syscall stubs. + * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile (sysdep_routines): + Remove rt_sigsuspend, rt_sigprocmask, rt_sigtimedwait, + rt_sigqueueinfo, rt_sigaction and rt_sigpending. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h + (__CLONE_SYSCALL_STRING): Define. + * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Add + CFI directives. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h + (__CLONE_SYSCALL_STRING): Define. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_CLONE_SYSCALL): + Define. + * sysdeps/unix/sysv/linux/sparc/system.c: New file. + +2003-08-30 Ulrich Drepper + + * sunrpc/rpc/clnt.h: Remove a few __THROW. + * sunrpc/Makefile (CFLAGS-auth_unix.c): Add -fexceptions. + (CFLAGS-key_call.c): Likewise. + (CFLAGS-pmap_rmt.c): Likewise. + (CFLAGS-clnt_perr.c): Likewise. + * sunrpc/rpc/auth.h: Remove serveral __THROW. + + * inet/Makefile (CFLAGS-gethstbyad_r.c): Add -fexceptions. + (CFLAGS-gethstbynm_r.c): Likewise. + (CFLAGS-gethstbynm2_r.c): Likewise. + (CFLAGS-rcmd.c): Likewise. + * resolv/Makefile (CFLAGS-res_hconf.c): Add -fexceptions. + + * argp/Makefile (CFLAGS-argp-help.c): Add -fexceptions. + (CFLAGS-argp-fmtstream.c): Likewise. + * argp/argp.h: Remove a number of __THROW. + + * misc/sys/syslog.h (vsyslog): Remove __THROW. + + * misc/Makefile (CFLAGS-getpass.c): Add -fexceptions. + * misc/getpass.c (getpass): Add cleanup handler to ensure the + stream is closed even if the thread is canceled. + (call_fclose): New function. + * posix/unistd.h: Remove __THROW from getpass prototype. + + * posix/Makefile (CFLAGS-getopt.c): Add -fexceptions. + + * signal/signal.h (psignal): Remove __THROW. + * stdio-common/Makefile (CFLAGS-psignal.c): Add -fexceptions. + + * misc/Makefile (CFLAGS-error.c): Define. + * misc/error.c (error): Disable cancellation handling around the + actual output. The message should in any case be printed. + (error_at_line): Likewise. + + * misc/error.h: Protect parameter names with leading __. + +2003-08-28 Carlos O'Donell + + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Add semtimedop. + +2003-08-29 Jakub Jelinek + + * libio/iofgetpos64.c (_IO_new_fgetpos64): Move lock release to the + end. + +2003-08-29 Ulrich Drepper + + * libio/stdio.h: Remove a few more __THROW. + +2003-08-29 Jakub Jelinek + + * libio/Makefile: Compile fputc.c, fputwc.c, freopen64.c, freopen.c, + fseek.c, fseeko64.c, fseeko.c, ftello64.c, ftello.c, fwide.c, getc.c, + getchar.c, getwc.c, getwchar.c, iofclose.c, iofflush.c, iofgetpos64.c, + iofgetpos.c, iofgets.c, iofgetws.c, iofputs.c, iofputws.c, iofread.c, + iofsetpos64.c, iofsetpos.c, ioftell.c, iofwrite.c, iogetdelim.c, + iogetline.c, iogets.c, iogetwline.c, ioputs.c, ioseekoff.c, + ioseekpos.c, iosetbuffer.c, iosetvbuf.c, ioungetc.c, ioungetwc.c, + oldfileops.c, oldiofclose.c, oldiofgetpos64.c, oldiofgetpos.c, + oldiofsetpos64.c, oldiofsetpos.c, peekc.c, putc.c, putchar.c, putwc.c, + putwchar.c and rewind.c with exceptions. + * sysdeps/generic/bits/stdio-lock.h (_IO_acquire_lock, + _IO_release_lock): Define. + * libio/fileops.c (_IO_new_file_underflow): Use it. + * libio/fputc.c (fputc): Likewise. + * libio/fputwc.c (fputwc): Likewise. + * libio/freopen64.c (freopen64): + * libio/freopen.c (freopen): Likewise. + * libio/fseek.c (fseek): Likewise. + * libio/fseeko64.c (fseeko64): Likewise. + * libio/fseeko.c (fseeko): Likewise. + * libio/ftello64.c (ftello64): Likewise. + * libio/ftello.c (ftello): Likewise. + * libio/fwide.c (fwide): Likewise. + * libio/getc.c (_IO_getc): Likewise. + * libio/getchar.c (getchar): Likewise. + * libio/getwc.c (_IO_getwc): Likewise. + * libio/getwchar.c (getwchar): Likewise. + * libio/iofclose.c (_IO_new_fclose): + * libio/iofflush.c (_IO_fflush): Likewise. + * libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise. + * libio/iofgetpos.c (_IO_new_fgetpos): Likewise. + * libio/iofgets.c (_IO_fgets): Likewise. + * libio/iofgetws.c (fgetws): Likewise. + * libio/iofputs.c (_IO_fputs): Likewise. + * libio/iofputws.c (fputws): Likewise. + * libio/iofread.c (_IO_fread): Likewise. + * libio/iofsetpos64.c (_IO_new_fsetpos64): Likewise. + * libio/iofsetpos.c (_IO_new_fsetpos): Likewise. + * libio/ioftell.c (_IO_ftell): Likewise. + * libio/iofwrite.c (_IO_fwrite): Likewise. + * libio/iogetdelim.c (_IO_getdelim): Likewise. + * libio/iogets.c (_IO_gets): Likewise. + * libio/ioputs.c (_IO_puts): Likewise. + * libio/ioseekoff.c (_IO_seekoff): Likewise. + * libio/ioseekpos.c (_IO_seekpos): Likewise. + * libio/iosetbuffer.c (_IO_setbuffer): Likewise. + * libio/iosetvbuf.c (_IO_setvbuf): Likewise. + * libio/ioungetc.c (_IO_ungetc): Likewise. + * libio/ioungetwc.c (ungetwc): Likewise. + * libio/oldiofclose.c (_IO_old_fclose): Likewise. + * libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise. + * libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise. + * libio/oldiofsetpos64.c (_IO_old_fsetpos64): Likewise. + * libio/oldiofsetpos.c (_IO_old_fsetpos): Likewise. + * libio/peekc.c (_IO_peekc_locked): Likewise. + * libio/putc.c (_IO_putc): Likewise. + * libio/putchar.c (putchar): Likewise. + * libio/putwc.c (putwc): Likewise. + * libio/putwchar.c (putwchar): Likewise. + * libio/rewind.c (rewind): Likewise. + * libio/wfileops.c (_IO_wfile_underflow): Likewise. + +2003-08-29 Ulrich Drepper + + * signal/signal.h: sighold, sigrelse, sigignore, sigset were + available in XPG4.2. + +2003-08-27 Phil Knirsch + Jakub Jelinek + + * sunrpc/svc.c (svc_getreqset): Fix fds_bits reading on 64-bit + big endian arches. Don't read beyond end of fds_bits array. + +2003-04-27 Bruno Haible + + * manual/message.texi (Advanced gettext functions): Add information + about Korean, Portuguese, Latvian. Gaeilge is also known as Irish. + Add section about Lithuanian, reported by Ricardas Cepas + . + Add information about Croatian. + Ukrainian is like Russian, reported by Andy Rysin . + Remove remark about continuation lines that is not true for PO files. + Fix formula for Slovenian, reported by Roman Maurer + . + +2003-08-27 Ulrich Drepper + + * math/math_private.h: Declare __copysignf. + * sysdeps/ieee754/flt-32/s_scalbnf.c: Use __copysignf instead of + copysignf. + + * sysdeps/x86_64/fpu/bits/mathinline.h: Define __signbitf, + __signbit, and __signbitl inline functions. + + * sysdeps/unix/sysv/linux/x86_64/__start_context.S: Use + HIDDEN_JUMPTARGET instead of JUMPTARGET to call exit(). + + * sysdeps/x86_64/bsd-_setjmp.S [PIC]: Jump to __GI___sigsetjmp. + * sysdeps/x86_64/setjmp.S: Add libc_hidden_def for __sigsetjmp. + +2003-08-27 Jakub Jelinek + + * inet/inet_mkadr.c (inet_makeaddr): Optimize. + +2003-08-27 Ulrich Drepper + + * include/stdio.h: Add declarations for __builtin_fwrite and + __builtin_fwrite_unlocked. + +2003-08-27 Jakub Jelinek + + * sysdeps/unix/opendir.c (__opendir): Make sure even struct dirent64 + fits into allocation. Add padding on 32-bit arches so that + dirp->data is enough aligned for struct dirent64. + Avoid clearing of the buffer, just clear DIR structure. + +2003-08-26 Ulrich Drepper + + * nss/nsswitch.c: Add libc_hidden_def for __nss_lookup_function. + * nss/nsswitch.h: Add libc_hidden_proto for __nss_lookup_function. + +2003-08-26 Steven Munroe + + * sysdeps/powerpc/powerpc64/elf/Makefile: New file. + +2003-08-26 Jakub Jelinek + + * login/programs/utmpdump.c (print_entry): Cast tv_usec to long + to match format string. + * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (union semun): Add + __old_buf. + (__new_semctl): Shut up warning. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h + (_dl_string_hwcap): Add __attribute__ ((always_inline)). + +2003-08-26 Jakub Jelinek + + * elf/ldconfig.c (search_dir): When checking for GNU-style .so + link file use the real file name, not the resolved name we got by + following the symlinks. + +2003-08-25 Ulrich Drepper + + * libio/oldfileops.c (_IO_old_file_init): Initialize _mode field + if the object size is large enough. + +2003-08-25 Jakub Jelinek + + * elf/ldconfig.c (search_dir): Treat symlink as regular file + if it won't point to itself unless it is .so symlink for the linker. + +2003-08-25 Ulrich Drepper + + * libio/libio.h (_IO_fwide): In the mode==0 optimization, don't + use _mode if _IO_fwide_maybe_incompatible. + * libio/iofwide.c (_IO_fwide): Move the test for mode == 0 after + the compatibility test. + +2003-08-25 Jakub Jelinek + + * elf/cache.c (save_cache): Don't write beyond end of file_entries + buffer. + Duplicate last old cache entry if the count would be odd. + +2003-08-25 Andreas Jaeger + + * sysdeps/unix/sysv/linux/posix_fadvise64.c: Cast arguments of + __LONG_LONG_PAIR to long. + +2003-08-25 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_ERRVAL): Define. + (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. + +2003-08-18 Alfred M. Szmidt + + * sysdeps/generic/bits/libc-lock.h (__libc_cleanup_pop): Redefine + and use __libc_cleanup_region_end instead. + +2003-08-25 Ulrich Drepper + + * elf/ldconfig.c (search_dir): Revert patch of 2003-7-21. + +2003-08-22 Ulrich Drepper + + * io/fcntl.h (posix_fallocate): Change type of third parameter to + off_t. + (posix_fallocate64): Change type of third parameter to off64_t. + * sysdeps/generic/posix_fallocate.c: Adjust for type change. + * sysdeps/posix/posix_fallocate.c: Likewise. + * sysdeps/generic/posix_fallocate64.c: Likewise. + * sysdeps/posix/posix_fallocate64.c: Likewise. Add compatibility + code for 32-bit platforms. + * sysdeps/unix/sysv/linux/i386/Versions: Add new version for + posix_fallocate64. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. + +2003-08-19 Ulrich Drepper + + * string/bits/string2.h (__STRING2_COPY_TYPE): Add attribute to + the type, not to name. + + * stdio-common/test-vfprintf.c (main): Don't write temporary file + into source directory. + + * malloc/malloc.c (_int_free): Add cheap test for some invalid + block sizes. + + * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Fix typo in + syscall name. + +2003-08-18 Ulrich Drepper + + * sysdeps/unix/sysv/linux/shm_open.c (shm_open): Fold EISDIR error + into EINVAL. + +2003-08-18 H.J. Lu + + * sysdeps/ia64/dl-machine.h (elf_machine_rela): Use _dl_reloc_bad_type. + (elf_machine_lazy_rel): Likewise. + +2003-08-18 Art Haas + + * malloc/malloc.h: Remove unneeded ';' where closing the C++ + extern block. + +2003-08-18 Ulrich Drepper + + * sysdeps/ia64/dl-fptr.h (ELF_MACHINE_LOAD_ADDRESS): Support + loading big binaries where @gprel(sym) cannot be handled in 'add' + but instead has to be used with 'movl'. + +2003-08-17 Juergen Kreileder + Andreas Jaeger + + * sysdeps/x86_64/bits/byteswap.h: New file. + +2003-08-17 Andreas Jaeger + + * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Fix typo. + +2003-08-16 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_ERRVAL, + PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. + * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_ERRVAL, + PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define. + * sysdeps/unix/alpha/sysdep.h (PSEUDO_ERRVAL, + ret_ERRVAL, PSEUDO_END_ERRVAL): Define. + * sysdeps/unix/mips/sysdep.h (PSEUDO_ERRVAL, + ret_ERRVAL, PSEUDO_END_ERRVAL): Define. + * sysdeps/unix/sparc/sysdep.h (PSEUDO_ERRVAL, + ret_ERRVAL): Define. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_ERRVAL, + PSEUDO_END_ERRVAL, ret_ERRVAL): Define. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO_ERRVAL, + PSEUDO_END_ERRVAL, ret_ERRVAL): Define. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (PSEUDO_ERRVAL): + Define. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_ERRVAL, + PSEUDO_END_ERRVAL, ret_ERRVAL): Define. + * sysdeps/unix/sysdep.h (PSEUDO_END_ERRVAL): Define. + + * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64, + posix_fadvise64_64): Remove. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (posix_fadvise64): Add + V flag. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (posix_fadvise64): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list + (posix_fadvise64): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list + (posix_fadvise64): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list + (posix_fadvise64): Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (posix_fadvise64): + Likewise. + * sysdeps/unix/sysv/linux/i386/posix_fadvise64_64.S: Moved to... + * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: ...here. + (__posix_fadvise64_l64): Fix a typo in fadvise64 syscall invocation. + (__posix_fadvise64_l32): New function. + * sysdeps/unix/sysv/linux/i386/Makefile: Revert last change. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions (libc): Export + posix_fadvise64@@GLIBC_2.3.3. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions (libc): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions (libc): Likewise. + * sysdeps/unix/sysv/linux/posix_fadvise.c (posix_fadvise): Return + error value. + * sysdeps/unix/sysv/linux/posix_fadvise64.c: New file. + + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h + (SYSCALL_ERROR_HANDLER): Use TLS errno/__libc_errno if USE___THREAD. + +2003-08-15 Jakub Jelinek + + * sysdeps/sparc/sparc32/dl-machine.h (WEAKADDR): Remove. + (elf_machine_matches_host): Remove weak extern stuff. + Use GL(dl_hwcap) unconditionally and GL(dl_hwcap_mask) if SHARED. + (elf_machine_runtime_setup, sparc_fixup_plt): Remove weak extern + stuff. Use GL(dl_hwcap) unconditionally. + +2003-08-16 Alan Modra + + * sysdeps/powerpc/powerpc64/elf/start.S: Add a nop after + __libc_start_main branch. + +2003-08-16 Jakub Jelinek , + Andreas Jaeger + + * sysdeps/generic/posix_fadvise.c (posix_fadvise): Return ENOSYS + instead of setting errno. + * sysdeps/generic/posix_fadvise64.c (posix_fadvise64): Likewise. + +2003-08-16 Andreas Jaeger + + * sysdeps/generic/posix_fadvise.c (posix_fadvise): Adjust prototype. + * sysdeps/generic/posix_fadvise64.c (posix_fadvise64): Likewise. + +2003-08-15 Ulrich Drepper + + * io/fcntl.h (posix_fadvise64): Change type of third parameter to + off_t. + * sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition. + * sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter + description indicating the error value is returned, not -1. + * sysdeps/unix/sysv/linux/kernel-features.h: Add definition of + __ASSUME_FADVISE64_64_SYSCALL. + * sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and + posix_madvise in one file. Have posix_madvise defined with error + value returned. + Define posix_fadvise64_64 entry. Add version info to posix_fadvise64 + entry. + * sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL, + PSEUDO_END_ERRVAL, and ret_ERRVAL. + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/i386/Versions [GLIBC_2.3.3]: Add + posix_fadvise64. + + * posix/Makefile (routines): Add posix_madvise. + * sysdeps/generic/madvise.c: Don't define posix_madvise. + * sysdeps/generic/posix_madvise.c: New file. + * sysdeps/unix/sysv/aix/posix_madvise.c: New file. + * sysdeps/unix/sysv/linux/i386/Makefile [subdir=io] (subdir_routines): + Add posix_fadvise64_64. + +2003-08-15 Jakub Jelinek + + * assert/assert.h (assert_perror): Use __builtin_expect for gcc >= + 3.0, not for !gcc or gcc < 3.0. + +2003-08-11 Carlos O'Donell + + * dlfcn/default.c (main): Cast dlsym loaded value to same type as main. + Address passed to test_in_mod1 and test_in_mod2 without casting. + * dlfcn/defaultmod1.c: Change prototype of test_in_mod1. + (test_in_mod1): Cast dlsym loaded value to same type as mainp. + * dlfcn/defaultmod2.c: Change prototype of test_in_mod2. + (test_in_mod2): Cast dlsym loaded value to same type as mainp. + +2003-08-15 Jakub Jelinek + + * sysdeps/sparc/sparc32/elf/configure.in (libc_cv_sparc32_tls): + Change quotes before using []. + + * sysdeps/unix/sysv/linux/sparc/sys/user.h: New file. + + * sysdeps/sparc/sparc32/bits/atomic.h (__sparc32_atomic_lock): + Renamed to... + (__sparc32_atomic_locks): ...this. Change into 64-byte array. + (__sparc32_atomic_do_lock, __sparc32_atomic_do_unlock): Add addr + argument. Select one of 64 locks from address bits. + (atomic_compare_and_exchange_val_acq, + atomic_compare_and_exchange_bool_acq): Pass memory address to + __sparc32_atomic_do_{,un}lock. + +2003-08-14 Ulrich Drepper + + * assert/assert.h (assert): Use !! in front of expression to allow + use of pointers. + + * iconvdata/cp932.c: Fixed checking of a few border of code areas. + Changed conversion of JIS X 0201 from using a table to calculating. + * iconvdata/euc-jp-ms.c: Fixed conversion table and rewrote + conversion routine. Changed CHARSET_NAME definition from EUCJP-MS to + EUC-JP-MS. + * iconvdata/tst-tables.sh: Add CP932 and EUC-JP-MS. + * iconvdata/CP932.irreversible: New file. + * iconvdata/EUC-JP-MS.irreversible: New file. + Patch by MORIYAMA Masayuki . + +2003-08-13 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/syscalls.list: Add time syscall. + + * elf/Makefile: Use LC_ALL=C in a few cases where we call external + text processing tools. + + * sysdeps/pthread/aio_misc.h (struct waitlist): Don't add caller_pid + element unless BROKEN_THREAD_SIGNALS is defined. + (struct requestlist): Likewise. + * sysdeps/pthread/aio_misc.c (__aio_enqueue_request): Don't fill in + caller_pid of new request unless BROKEN_THREAD_SIGNALS is defined. + * sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise. + * sysdeps/pthread/aio_notify.c (__aio_notify_only): Remove caller_pid + parameter unless BROKEN_THREAD_SIGNALS is defined. Adjust callers. + Pass current PID to __aio_sigqueue. + * sysdeps/pthread/lio_listio.c (lio_listio): Adjust __aio_notify_only + call. Don't initialize caller_pid field of waitlist element. + +2003-08-12 Jakub Jelinek + + * libio/libioP.h (_IO_vtable_offset): Define. + * libio/freopen.c (freopen): Use it. + * libio/ioputs.c (_IO_puts): Likewise. + * libio/freopen64.c (freopen64): Likewise. + * libio/genops.c (__underflow, __uflow, _IO_flush_all_lockp): + Likewise. + * libio/iofclose.c (_IO_new_fclose): Likewise. + * libio/iofputs.c (_IO_fputs): Likewise. + * libio/ioftell.c (_IO_ftell): Likewise. + * libio/iofwrite.c (_IO_fwrite): Likewise. + * libio/ioseekoff.c (_IO_seekoff_unlocked): Likewise. + * libio/iosetbuffer.c (_IO_setbuffer): Likewise. + * stdio-common/vfprintf.c (ORIENT, vfprintf): Likewise. + * stdio-common/vfscanf.c (ORIENT): Likewise. + +2003-08-11 Ulrich Drepper + + * assert/assert.h: Use __builtin_expect in assert and + assert_perror definitions if possible. + +2003-08-07 Jakub Jelinek + + * sysdeps/generic/ldsodefs.h (_rtld_global): Add + _dl_rtld_lock_recursive and _dl_rtld_unlock_recursive. + * elf/rtld.c (rtld_lock_default_lock_recursive, + rtld_lock_default_unlock_recursive): New functions. + (dl_main): Initialize _dl_rtld_lock_recursive and + _dl_rtld_unlock_recursive. + +2003-08-05 Jakub Jelinek + + * elf/ldconfig.c (main): Append SLIBDIR and LIBDIR to + config_file directories instead of prepending. + +2003-08-02 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_CLONE_STOPPED. + +2003-08-01 Ulrich Drepper + + * sysdeps/generic/bits/libc-lock.h + (__libc_cleanup_push,__libc_cleanup_pop): Define even here. + +2003-08-01 Roland McGrath + + * sysdeps/mach/hurd/getdents.c: Just use sysdeps/generic/getdents.c. + +2003-07-31 Jakub Jelinek + + * sysdeps/generic/bits/types.h (__ssize_t): Use __SSIZE_T_TYPE + instead of __SWORD_TYPE. + * sysdeps/generic/bits/typesizes.h (__SSIZE_T_TYPE): Define. + * sysdeps/mach/hurd/bits/typesizes.h (__SSIZE_T_TYPE): Define. + * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h (__SSIZE_T_TYPE): + Define. + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__SSIZE_T_TYPE): + Define. + * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__SSIZE_T_TYPE): + Define. + * sysdeps/unix/sysv/linux/s390/bits/typesizes.h: New file. + + * dlfcn/dlerror.c (once): New. + (dlerror): Call __libc_once. + (_dlerror_run): Remove once. + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): + Sync with 2.5.7 and 2.5.73 kernel changes. + + * dlfcn/eval.c (funcall): Add noinline attribute to shut up warnings. + * elf/rtld.c (dl_main): Cast ElfW(Addr) arguments with %Zx/%Zd + formats to size_t. + * elf/dl-lookup.c (_dl_debug_bindings): Likewise. + * elf/tst-tls6.c (do_test): Use %zd format for l_tls_modid. + * elf/tst-tls8.c (do_test): Use %zd format for modid1 and modid2. + * gmon/tst-sprofil.c (main): Add parens to shut up warning. + * iconv/tst-iconv3.c (main): Use %td instead of %zd for pointer + difference argument. + * stdio-common/tst-wc-printf.c (main): Cast arguments with %C + format to wint_t. + * stdlib/tst-limits.c (main): For WORD_BIT and LONG_BIT, use + %d format and cast expected value to int. + * sysdeps/generic/libc-start.c (STATIC): Add + __attribute__((always_inline) if LIBC_START_MAIN is already defined. + * sysdeps/powerpc/fpu/w_sqrt.c (a_nan, a_inf): Change from uint32_t + to ieee_float_shape_type. + (__sqrt): Avoid type punning. + * sysdeps/powerpc/fpu/w_sqrtf.c (a_nan, a_inf): Change from uint32_t + to ieee_float_shape_type. + (__sqrtf): Avoid type punning. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Don't define + refsym if in dl-conflict.c. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/unix/sysv/linux/i386/semctl.c (union semun): Add __old_buf. + (__new_semctl): Shut up warning. + * sysdeps/unix/sysv/linux/semctl.c (union semun): Add __old_buf. + (__new_semctl): Shut up warning. + * sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Wrap long lines. + Change old into union of __old_shmid_ds and __old_shminfo structs. + Adjust all users. + * wcsmbs/wcsmbs-tst1.c (main): Cast arguments with %C format to wint_t. + + * sysdeps/unix/sysv/linux/utimes.c (__utimes): Fix actime and + modtime computation. + * sysdeps/unix/sysv/linux/futimes.c (__futimes): Likewise. + * sysdeps/posix/utimes.c (__utimes): Likewise. + +2003-07-30 Jakub Jelinek + + * elf/dl-reloc.c (_dl_allocate_static_tls): Don't return any value, + call dl_signal_error directly. If already relocated, call + GL(dl_init_static_tls) directly, otherwise queue it for later. + (CHECK_STATIC_TLS): Undo 2003-07-24 change. + * elf/rtld.c (dl_main): Initialize GL(dl_init_static_tls). + * elf/dl-open.c (dl_open_worker): Call GL_dl_init_static_tls + for all static TLS initializations delayed in _dl_allocate_static_tls. + * elf/dl-support.c (_dl_init_static_tls): New variable. + * include/link.h (struct link_map): Add l_need_tls_init. + * sysdeps/generic/ldsodefs.h (_rtld_global): Add _dl_init_static_tls. + (_dl_nothread_init_static_tls): New prototype. + (_dl_allocate_static_tls): Adjust prototype. + + * elf/tls-macros.h (VAR_INT_DEF): Add alignment directive. + +2003-07-31 Alexandre Oliva + + * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, + elf_machine_rel_relative, elf_machine_rela_relative): Don't assume + reloc_addr is aligned. + * sysdeps/alpha/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela, + elf_machine_rel_relative, elf_machine_rela_relative): Adjust. + * sysdeps/cris/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/hppa/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela, + elf_machine_rel_relative, elf_machine_rela_relative): Adjust. + * sysdeps/ia64/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/m68k/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/mips/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/powerpc/powerpc64/dl-machine.h + (elf_machine_rela_relative, elf_machine_rela): Adjust. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/sh/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + * sysdeps/x86_64/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative): Adjust. + +2003-07-29 Ulrich Drepper + + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Restore + alignment of TCB used before the last change so that it matches + ld's output for IE code. + +2003-07-29 Jakub Jelinek + + * include/ctype.h (__ctype_b_loc, __ctype_toupper_loc, + __ctype_tolower_loc): Avoid "dereferencing type-punned pointer will + break strict-aliasing rules" warnings. + +2003-07-29 Roland McGrath + + * elf/Makefile: Revert accidental changes in last commit. + * elf/dl-support.c: Likewise. + + * rt/tst-timer2.c: New file. + * rt/Makefile (tests): Add it. + +2003-07-25 Jakub Jelinek + + * elf/dl-support.c (_dl_hwcap): Add nocommon attribute. + +2003-07-29 Roland McGrath + + * elf/Makefile (tests) [$(build-shared) = yes]: + Depend on $(test-modules). + * dlfcn/Makefile: Likewise. + +2003-07-28 Roland McGrath + + * sysdeps/generic/bits/types.h (__STD_TYPE): New macro. + Use that instead of `typedef' when using __*_TYPE macros in rhs. + + * elf/tst-tls14.c [USE_TLS && HAVE___THREAD]: Conditionalize on this. + * elf/tst-tlsmod14a.c: Likewise. + + * sysdeps/unix/sysv/linux/sys/sysctl.h: Include + before . + +2003-07-27 Ulrich Drepper + + * sysdeps/unix/sysv/syscalls.list: time syscall never fails. + * sysdeps/unix/sysv/linux/x86_64/time.S: time syscall never fails. + * sysdeps/unix/sysv/i386/time.S: time syscall never fails. + * sysdeps/unix/syscalls.list: umask syscall never fails. + +2003-07-27 Andreas Jaeger + + * sysdeps/unix/sysv/linux/init-first.c: Mark init as used. + +2003-07-25 Jakub Jelinek + + * sysdeps/unix/sysv/linux/a.out.h: Replace with i386 version. + Include bits/a.out.h. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + bits/a.out.h. + * sysdeps/unix/sysv/linux/bits/a.out.h: New file. + * sysdeps/unix/sysv/linux/i386/bits/a.out.h: New file. + * sysdeps/unix/sysv/linux/m68k/bits/a.out.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/a.out.h: New file. + * sysdeps/unix/sysv/linux/alpha/a.out.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/a.out.h: New file. + * sysdeps/unix/sysv/linux/sparc/a.out.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/a.out.h: New file. + +2003-07-24 Jakub Jelinek + + * sysdeps/pthread/aio_cancel.c (aio_cancel): Return AIO_ALLDONE + if aiocbp != NULL and has already completed. Return -1/EINVAL if + aiocbp->aio_fildes does not match fildes. + +2003-07-24 Ulrich Drepper + + * timezone/zic.c (rpytime): Replace cheap overflow check with a + functioning one. + + * include/link.h (struct link_map): Add l_tls_firstbyte_offset field. + * sysdeps/generic/dl-tls.c [TLS_TCB_AT_TP] (_dl_determine_tlsoffset): + Fix calculation of offsets to take misalignment of first byte in + file into account. + * elf/dl-load.c (_dl_map_object_from_fd): Initialize + l_tls_firstbyte_offset field. + * elf/rtld.c (_dl_start_final, _dl_start, dl_main): Likewise. + * elf/dl-reloc.c (_dl_allocate_static_tls): Change return type to int. + Take l_tls_firstbyte_offset information into account. + (CHECK_STATIC_TLS): _dl_allocate_static_tls can fail now. + * sysdeps/generic/ldsodefs.h: Adjust _dl_allocate_static_tls prototype. + * elf/Makefile: Add rules to build and run tst-tls14. + * elf/tst-tls14.c: New file. + * elf/tst-tlsmod14a.c: New file. + * elf/tst-tlsmod14b.c: New file. + +2003-07-23 Jakub Jelinek + + * sysdeps/pthread/lio_listio.c (LIO_OPCODE_BASE): Define. + (lio_listio): Use it. + * sysdeps/pthread/lio_listio64.c: Include lio_listio.c instead of + after few defines to avoid duplication. + +2003-07-22 Jakub Jelinek + + * include/stdio.h (__libc_fatal): Add libc_hidden_proto. + * include/dlfcn.h (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose): + Likewise. + * elf/dl-libc.c (__libc_dlopen_mode, __libc_dlsym, __libc_dlclose): + Add libc_hidden_def. + * sysdeps/generic/libc_fatal.c (__libc_fatal): Likewise. + * sysdeps/posix/libc_fatal.c (__libc_fatal): Likewise. + * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Likewise. + * elf/Versions (libc): Export __libc_dlopen_mode@@GLIBC_PRIVATE, + __libc_dlsym@@GLIBC_PRIVATE and __libc_dlclose@@GLIBC_PRIVATE. + * libio/Versions (libc): Export __libc_fatal@@GLIBC_PRIVATE. + * sysdeps/generic/unwind-dw2.c: Readd #ifs removed during last + change. + * sysdeps/generic/unwind.inc: Removed. + + * include/resolv.h (__resp): Declare. Define to __libc_resp + if in libc.so. + (_res): If USE___THREAD, define to (*__resp). + * resolv/res_libc.c (_res): Normal .bss variable with compat_symbol + even if USE___THREAD. + (__resp): New __thread variable. + (__libc_resp): New alias. + * resolv/Versions (libc): Export _res@GLIBC_2.0 even if + USE_TLS && HAVE___THREAD. Export __resp@@GLIBC_PRIVATE. + * sysdeps/generic/res-state.c (__res_state): Return __resp + if USE___THREAD. + +2003-07-22 H.J. Lu + + * elf/dl-support.c (_dl_hwcap): New variable. + (_dl_aux_init): Initialize GL(dl_hwcap) for static binaries. + + * sysdeps/i386/fpu/fclrexcpt.c: Include , + and . + (__feclearexcept): Clear MXCSR if needed. + * sysdeps/i386/fpu/fsetexcptflg.c: Likewise. + + * sysdeps/i386/fpu_control.h (_FPU_GETCW, _FPU_SETCW): Document + that newer hardware needs more than these macros. + + * sysdeps/i386/setfpucw.c: New file. + +2003-07-22 Jakub Jelinek + + * elf/Makefile (CFLAGS-ldconfig.c): Define IS_IN_ldconfig. + * elf/ldconfig.c: Include dl-procinfo.c. + (PROCINFO_CLASS): Define. + * sysdeps/generic/ldsodefs.h (PROCINFO_CLASS): Define. + * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c: New file. + * sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h: New file. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (PROCINFO_CLASS): + Define if not yet defined. Use it instead of EXTERN. Undefine + at the end of the file. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.c (PROCINFO_CLASS): + Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c + (PROCINFO_CLASS): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c + (PROCINFO_CLASS): Likewise. + +2003-07-22 H.J. Lu + + * elf/ldconfig.c (main): Issue a fatal error if relative path + is used to build cache. + +2003-07-22 Ulrich Drepper + + * elf/readlib.c (process_file): Avoid possible overflow in assignment. + +2003-07-21 Art Haas + + * manual/charset.texi (Converting a Character): Fix example code so a + valid pointer is returned. + +2003-07-22 Andreas Jaeger + + * elf/readlib.c (process_file): Check that file is a shared + object. + + * elf/sofini.c (__FRAME_END__): Use attribute used so that gcc + will not optimize it away. + (__DTOR_END__): Likewise. + (__CTOR_END__): Likewise. + + * include/libc-symbols.h (_elf_set_element): Use attribute used so + that gcc will not optimize it away. + (link_warning): Likewise. + +2003-07-22 Ulrich Drepper + + * wcsmbs/wcpncpy.c (__wcpncpy): Correct destination pointer handling. + * wcsmbs/Makefile (tests): Add tst-wcpncpy. + * wcsmbs/tst-wcpncpy.c: New file. + +2003-07-21 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_STOPPED): Define. + + * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Reverse use of + stmxcsr and ldmxcsr. + + * Makerules (build-module-helper): Add -z defs unless explicitly said + not to do it. + * dlfcn/Makefile: Define various *-no-z-defs variables for test DSOs + which has undefined symbols. + * elf/Makefile: Likewise. + + * sysdeps/i386/fpu/fedisblxcpt.c: Use dl_hwcap, not dl_hwcap_mask. + * sysdeps/i386/fpu/feenablxcpt.c: Likewise. + * sysdeps/i386/fpu/feholdexcpt.c: Likewise. + * sysdeps/i386/fpu/fesetround.c: Likewise. + * sysdeps/i386/fpu/ftestexcept.c: Likewise. + +2003-07-21 HJ Lu + + * elf/ldconfig.c (search_dir): Treat symlink as regular file + if it won't point to itself. + +2003-07-20 Ulrich Drepper + + * sysdeps/ia64/hp-timing.h (REPEAT_READ): Cast to long int not to int. + +2003-07-20 Andreas Jaeger + + * iconvdata/cp932.c (BODY): STANDARD_ERR_HANDLER is now called + STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/euc-jp-ms.c (BODY): Likewise. + +2003-07-19 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ZERO): Fix typo. + + * sysdeps/unix/sysv/linux/syscalls.list: Remove affinity syscalls. + +2003-07-16 Daniel Jacobowitz + Andreas Jaeger + + * sysdeps/unix/sysv/linux/mips/bits/shm.h (SHMLBA): Define to + 256K, remove unneeded declaration of __getpagesize. + +2003-07-16 Andreas Schwab + + * sysdeps/unix/sysv/linux/futimes.c: Include . + +2003-07-15 Ulrich Drepper + + * io/test-utime.c (main): Make test yet more robust. + +2003-07-14 Ulrich Drepper + + More cancellation handling fixups. + * sysdeps/unix/sysv/linux/not-cancel.h: Add waitpid_not_cancel. + * sysdeps/generic/not-cancel.h: Likewise. + * catgets/open_catalog.c: Use not-cancelable syscalls. + * time/Makefile (CFLAGS-getdate.c): Add -fexceptions. + * sysdeps/unix/sysv/linux/llseek.c: Must not be cancelable. + * sysdeps/unix/syscalls.list: Don't mark lseek as cancelable. + * dlfcn/dlfcn.h: Mark dlopen with __THROW again. + * io/fcntl.h: Don't mark posix_fallocate with __THROW. + * libio/fileops.c: Use not-cancelable syscalls for fclose. + * libio/iopopen.c: Use no-cancelable syscalls. + * libio/stdio.h: Mark popen and pclose with __THROW again. + * misc/Makefile (CFLAGS-syslog.c): Add -fexceptions. + * misc/syslog.c: Fix locking and cancellation cleanup handling. + * posix/unistd.h: Mark ttyname and ttyname_r again with __THROW. + * stdio-common/Makefile (CFLAGS-tmpfile.c, CFLAGS-tmpfile64.c, + CFLAGS-tempname.c): Add -fexceptions. + * stdlib/Makefile (CFLAGS-mkstemp.c): Add -fexceptions. + * string/string.h: Mark strerror and strerror_r with _THROW again. + * sysdeps/generic/unwind.inc: New file. Copied from gcc. + * sysdeps/generic/unwind-dw2.c: Update from gcc version. Remove + #ifs since we now need all the code compiled. + * sysdeps/posix/spawni.c: Use close_not_cancel instead of close. + * sysdeps/unix/closedir.c: Use not-cancelable syscalls. + * sysdeps/unix/opendir.c: Likewise. + + * iconvdata/Makefile (modules): Add CP932 and EUC-JP-MS. + Add rule for EUC-JP-MS dependency. + * iconvdata/cp932.c: New file. + * iconvdata/eucjp-ms.c: New file. + * iconvdata/gconv-modules: Add entries for CP932 and EUC-JP-MS. + Patch by MORIYAMA Masayuki . + +2003-07-15 Jakub Jelinek + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S (__socket): Add + cfi directives. + +2003-07-14 Franz Sirl + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_FIXED_CLONE_SYSCALL): New macro. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Use it. + + * sysdeps/unix/sysv/linux/utimes.c: Include sysdep.h. + +2003-07-14 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_TGKILL for Alpha appropriately. + +2003-07-12 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/statfs.h (_STATFS_F_FRSIZE): Define. + * sysdeps/unix/sysv/linux/alpha/bits/statfs.h (_STATFS_F_FRSIZE): + Likewise. + * sysdeps/unix/sysv/linux/s390/bits/statfs.h (_STATFS_F_FRSIZE): + Likewise. + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_UTIMES for x86 and kernels > 2.5.75. + + * sysdeps/unix/sysv/linux/futimes.c (__futimes): Handle case with + second parameter == NULL. + * sysdeps/unix/sysv/linux/utimes.c: New file. + +2003-07-12 Jakub Jelinek + + * sysdeps/unix/sysv/linux/futimes.c: Include kernel-features.h. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Fix + a typo. + +2003-07-12 Ulrich Drepper + + * time/sys/time.h: Namespace cleanup. + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_UTIMES for the architectures which always had the syscall. + * sysdeps/unix/sysv/linux/futimes.c: New file. + +2003-07-12 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/socket.S: Save and restore the PR + register across CENABLE and CDISABLE. + +2003-07-11 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sigwait.c: Include string.h. + * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. + * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. + * sysdeps/unix/sysv/linux/sleep.c (__sleep): Cast value to unsigned + int before assigning to max to avoid warnings. + +2003-07-11 Jakub Jelinek + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket): Add + cfi directives. + * sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Likewise. + +2003-07-10 Jakub Jelinek + + * sysdeps/powerpc/powerpc64/elf/start.S: Set section flags of + .data.rel.ro.local to "aw". + +2003-07-10 Ulrich Drepper + + * sysdeps/m68k/Makefile: Remove CLFAGS-.oS addition. + * Makeconfig (CFLAGS-.oS): Use PIC-ccflag instead of pic-ccflag. + (PIC-ccflag): Define. + +2003-07-04 Jakub Jelinek + + * sysdeps/s390/s390-32/elf/start.S: Emit position independent code + if PIC. + * sysdeps/s390/s390-64/elf/start.S: Likewise. + +2003-07-07 Jakub Jelinek + + * sysdeps/powerpc/powerpc64/elf/start.S: Put L(start_address) + into .data.rel.ro.local section if PIC to avoid DT_TEXTREL. + +2003-07-07 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h: Version + __ASSUME_CORRECT_SI_PID and __ASSUME_TGKILL if possible. + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Adjust for + compilation with HAVE_AUX_SECURE defined. + +2003-07-05 Richard Henderson + + * sysdeps/alpha/elf/initfini.c: Avoid .ent/.end. + +2003-07-03 Ulrich Drepper + + * configure.in: Also check for .cfi_rel_offset pseudo-op. + +2003-07-03 Jakub Jelinek + + * sysdeps/unix/sysv/linux/prof-freq.c (__profile_frequency): Fix a + typo. + +2003-07-03 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_CLKTCK): + Define. + * sysdeps/unix/sysv/linux/prof-freq.h: New file. + +2003-07-02 Jakub Jelinek + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Protect new_sysinfo + decl and use with #ifdef NEED_DL_SYSINFO. + +2003-07-02 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Don't set + GL(dl_sysinfo) unles GL(dl_sysinfo_dso) is also set. + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_VSYSCALL only for 2.5.69 and up since this is when the + vsyscall DSO was added. + + * posix/bits/posix1_lim.h (_POSIX_NGROUPS_MAX): Define to 8 or 0 + depending on selected standard. + (NGROUPS_MAX): Define to 8 if not defined. + +2003-07-02 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/sys/epoll.h: New file. + +2003-05-04 H.J. Lu + + * malloc/arena.c (arena_get2): Add atomic_write_barrier. + * malloc/thread-m.h: Include . + (atomic_full_barrier): Provide default. + (atomic_read_barrier): Likewise. + (atomic_write_barrier): Likewise. + * sysdeps/ia64/bits/atomic.h (atomic_full_barrier): New #define. + +2003-06-30 Ulrich Drepper + + * sysdeps/generic/sysdep.h: Define cfi_rel_offset and CFI_REL_OFFSET. + +2003-06-30 Richard Henderson + + * sysdeps/alpha/bits/atomic.h (__arch_compare_and_exchange_bool_*_int): + Invert the sense of the return value. + (__arch_exchange_16_int): Fix paste-o. + (__arch_exchange_{32,64}_int): Fix think-o. + + * sysdeps/unix/sysv/linux/alpha/clone.S: Load child_tid properly. + +2003-06-30 Richard Henderson + + * include/sys/resource.h (__getrusage): Mark hidden. + * include/sys/time.h (__settimeofday, __setitimer, __utimes): Likewise. + * include/sys/wait.h (__wait4): Likewise. + +2003-06-17 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/xstatconv.c: Handle STAT_IS_KERNEL_STAT + case. + (xstat_conv): Rename to __xstat_conv and remove static inline. + (xstat64_conv): Likewise. + +2003-06-29 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sleep.c (__sleep): Handle parameter + values which cannot be handled in one nanosleep call. + +2003-06-25 Alfred M. Szmidt + + * sysdeps/generic/bits/in.h (IPV6_HOPOPTS, IPV6_DSTOPTS): New macros. + (IPV6_RXHOPOPTS, IPV6_RXDSTOPTS): Use them. + + * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: Typo fix. + +2003-06-04 Thorsten Kukuk + + * sysdeps/unix/sysv/linux/net/if_arp.h: Sync with kernel header, + fix typo. + +2003-06-26 Steven Munroe + + * sysdeps/unix/sysv/linux/xstatconv.h [!STAT_IS_KERNEL_STAT]: + Conditionalize function definitions that use struct kernel_stat. + * sysdeps/unix/sysv/linux/fxstat.c: Remove __syscall_fstat extern. + * sysdeps/unix/sysv/linux/lxstat.c: Remove __syscall_lstat extern. + * sysdeps/unix/sysv/linux/xstat.c: Remove __syscall_stat extern. + +2003-06-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/s390/semtimedop.c (semtimedop): Add real + implementation. + +2003-06-07 Thorsten Kukuk + + * nis/nss_compat/compat-grp.c: Remove unused nis_first variable. + (getgrent_next_file): Don't store group name to early in blacklist. + + * nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Save strlen result + and use memcpy instead of strcpy. + +2003-06-28 Ulrich Drepper + + * nis/nss_compat/compat-grp.c: Optimize several little things. Use + stream unlocked. + * nis/nss_compat/compat-initgroups.c: Likewise. + * nis/nss_compat/compat-pwd.c: Likewise. + * nis/nss_compat/compat-spwd.c: Likewise. + +2003-06-27 Thorsten Kukuk + + * nis/nss_compat/compat-initgroups.c: Don't use our own NIS/NIS+ + functions, dlopen corresponding NSS module instead. + +2003-06-27 Jeroen Dekkers + + * sysdeps/mach/hurd/alpha/init-first.c: Remove call to __libc_init. + * sysdeps/mach/hurd/i386/init-first.c: Likewise. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. + +2003-06-27 Ulrich Drepper + + * rt/Makefile (CFLAGS-librt-cancellation.c): Define. + +2003-06-26 Roland McGrath + + * sysdeps/mach/configure.in: Barf rather than define NO_CREATION_TIME. + * sysdeps/mach/configure: Regenerated. + * sysdeps/mach/hurd/times.c (times_init): Function removed. + (__times): Assume `creation_time' field is available. + * sysdeps/mach/hurd/Makefile [$(subdir) = csu] (sysdep_routines): + Don't append set-init. + * sysdeps/mach/hurd/set-init.c: File removed. + +2003-06-26 Roland McGrath + + * elf/elf.h (AT_SECURE): New macro. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Grok it, + set __libc_enable_secure. + (_dl_show_auxv): Add AT_SECURE to name table. + * elf/dl-support.c (_dl_aux_init): Grok AT_SECURE, set + __libc_enable_secure and __libc_enable_secure_decided. + * sysdeps/unix/sysv/linux/ldsodefs.h + [__ASSUME_AT_SECURE] (HAVE_AUX_SECURE): Define it. + * sysdeps/unix/sysv/linux/kernel-features.h + [__LINUX_KERNEL_VERSION >= 132426] (__ASSUME_AT_SECURE): Define it. + +2003-06-26 Ulrich Drepper + + * io/test-utime.c: If _STATBUF_ST_NSEC is defined, adjust lower + boundary test to take rounding of nanoseconds into account. + + * sysdeps/unix/sysv/linux/bits/stat.h: Define _STATBUF_ST_NSEC. + * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise. + +2003-06-26 Andreas Schwab + + * sysdeps/m68k/fpu/bits/mathinline.h: Don't inline frexp. + * sysdeps/m68k/fpu/s_frexp.c: Put implementation here. + * sysdeps/m68k/fpu/s_frexpl.c: Fix to handle unnormalized numbers. + +2003-06-17 Thorsten Kukuk + + * nis/Makefile: Remove NIS/NIS+ files from nss_compat module. + * nis/nss_compat/compat-grp.c: Don't use our own NIS/NIS+ functions, + dlopen corresponding NSS module instead. + * nis/nss_compat/compat-pwd.c: Likewise. + * nis/nss_compat/compat-spwd.c: Likewise. + * nis/nss_compat/compat-initgroups.c: Disabled for now. + * nss/Versions: Export __nss_lookup_function. + +2003-06-19 Daniel Jacobowitz + + * sysdeps/unix/sysv/linux/kernel-features.h: Update kernel features + for the SH architecture. + +2003-06-25 Thorsten Kukuk + + * csu/Makefile: Use CPPFLAGS to find correct linux/version.h. + +2003-06-25 Andreas Jaeger + + * stdlib/tst-strtod.c (main): Declare constant long double as + suggested by Jakub Jelinek and Andreas Schwab. + + * posix/tst-nanosleep.c: Include for nanosleep + declaration. + + * stdio-common/tst-fphex.c: Fix format string. + + * posix/transbug.c: Include for memset and strlen + declarations. + + * stdio-common/tst-sprintf.c: Include for free declaration. + + * stdlib/tst-strtod.c (main): Pass long double value. + + * test-skeleton.c: Include for nanosleep declaration. + +2003-06-25 Ulrich Drepper + + * include/time.h: Don't define CLOCK_IDFIELD_SIZE if _ISOMAC is + defined. + +2003-06-11 Jakub Jelinek + + * elf/Versions (libc): Add _dl_open_hook@GLIBC_PRIVATE. + * elf/dl-libc.c (struct dl_open_hook): New. + (_dl_open_hook): New variable. + (do_dlsym_private): New function. + (__libc_dlopen_mode) [!SHARED]: Lookup _dl_open_hook@GLIBC_PRIVATE + and initialize it if found. + (__libc_dlopen_mode) [SHARED]: If _dl_open_hook is non-NULL, + call dlopen_mode hook. + (__libc_dlsym) [SHARED]: If _dl_open_hook is non-NULL, + call dlsym hook. + (__libc_dlclose) [SHARED]: If _dl_open_hook is non-NULL, + call dlclose hook. + +2003-06-25 Ulrich Drepper + + * sysdeps/unix/sysv/linux/cris/sysdep.h (INLINE_SYSCALL): Cast + result to long int so that extensions to long long int work. + Patch by Uwe Reimann . + +2003-06-19 Jakub Jelinek + + * elf/ldconfig.c (main): Use add_system_dir instead of add_dir. + * sysdeps/generic/dl-cache.h (add_system_dir): Define. + * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: Include sparc + dl-cache.h. + * sysdeps/unix/sysv/linux/s390/dl-cache.h: New file. + * sysdeps/unix/sysv/linux/mips/dl-cache.h: New file. + * sysdeps/unix/sysv/linux/powerpc/dl-cache.h: New file. + * sysdeps/unix/sysv/linux/sparc/dl-cache.h: New file. + +2003-06-19 Jakub Jelinek + + * test-skeleton.c (timeout_handler): If waitpid returned 0, + retry once after a second. If killed == 0, assume + WTERMSIG (status) == SIGKILL. + +2003-06-18 Roland McGrath + + * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Catch uninitialized + elements in the table instead of printing an empty name string. + +2003-06-05 Roland McGrath + + * elf/elf.h (PT_GNU_STACK): New macro. + +2003-06-24 Ulrich Drepper + + * include/time.h: Define CLOCK_IDFIELD_SIZE. + * sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs. + * sysdeps/unix/clock_gettime.c: Likewise. + * sysdeps/unix/clock_settime.c: Likewise. + * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new + clock id for thread CPU clocks. + + * sysdeps/unix/sysv/linux/fstatfs64.c (__fstatfs64): Add support + for the fstatfs64 syscall. + * sysdeps/unix/sysv/linux/statfs64.c (__statfs64): Add support for + the statfs64 syscall. + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_STATFS64 appropriately. + + * sysdeps/unix/sysv/linux/internal_statvfs.c: Use f_frsize field + from statfs structure if it has been filled in. + + * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_frsize + field. + (struct statfs64): Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise. + +2003-06-24 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/syscalls.list (pread, pwrite): Use + the 64-bit syscall name. + + * sysdeps/alpha/setjmp.S (_setjmp, setjmp): Mark .prologue. + + * sysdeps/alpha/fpu/bits/mathinline.h: Honor + __LIBC_INTERNAL_MATH_INLINES. Implement __signbitf, __signbit. + + * sysdeps/unix/sysv/linux/alpha/clone.S: Use HIDDEN_JUMPTARGET. + * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use + libc_hidden_def. + * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/setfpucw.c: Use libc_hidden_proto + on them. + + * sysdeps/alpha/bits/atomic.h: New file. + +2003-06-24 Andreas Schwab + + * sysdeps/m68k/fpu/libm-test-ulps: Update. + +2003-06-24 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/stat.h (_STAT_VER_LINUX): Avoid + redeclaration with 32-bit code. + +2003-05-19 Ed Connell + + * sysdeps/unix/sysv/linux/i386/getcontext.S (getcontext): Retain + floating point mask. + * sysdeps/i386/fpu/fegetenv.c (fegetenv): Likewise. + +2003-06-23 Ulrich Drepper + + * sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex, + __aio_enqueue_request, __aio_find_req, __aio_find_req_fd, + __aio_free_request, __aio_notify, and __aio_sigqueue as hidden. + + * sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result + of pthread_cond_wait if there was an error. Use pthread_cleanup_* + instead of __libc_cleanup_region_*. + +2003-06-20 Richard Henderson + + * sysdeps/unix/make-syscalls.sh: Implement ! prefix for strong aliases. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (open, open64): New. + +2003-06-20 Richard Henderson + + * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL1): Use __builtin_expect. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_ST_INO_64_BIT) + Unset for alpha. + (__ASSUME_TIMEVAL64): Set for alpha. + * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove + adjtimex, osf_sigprocmask, old_adjtimex. + * sysdeps/unix/sysv/linux/alpha/adjtime.c: Use INLINE_SYSCALL, + __ASSUME_TIMEVAL64. Reorg tv64 functions to avoid uninit variable. + * sysdeps/unix/sysv/linux/alpha/getitimer.S: Use __ASSUME_TIMEVAL64. + * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Streamline + PIC code sequence. + * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/sigaction.c: New file. + * sysdeps/unix/sysv/linux/alpha/sigprocmask.c: Use INLINE_SYSCALL. + * sysdeps/unix/sysv/linux/alpha/ustat.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove osf_sigprocmask, + sys_ustat, sys_mknod, adjtimex, old_adjtimex. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (INLINE_SYSCALL): Don't + defer to __syscall_name; error for rt_sigaction. + * sysdeps/unix/sysv/linux/alpha/xstatconv.c: Include kernel_stat.h. + +2003-06-18 Ulrich Drepper + + * malloc/malloc.c (public_mALLINFo): Initialize malloc if it + hasn't happened yet. + + * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): + Fix completely broken implementation. The second parameter is of + type struct ucontext*. + + * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Always + inline. + + * sysdeps/i386/i686/dl-hash.h: Don't inline _dl_elf_hash. + * sysdeps/generic/dl-hash.h: Likewise. + + * sysdeps/generic/memcmp.c: Remove inline from + memcmp_common_alignment and memcmp_not_common_alignment definition. + + * intl/localealias.c (read_alias_file): Determine whether line is + read incompletely early, before we modify the line. + +2003-06-17 Jakub Jelinek + + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela) + : Don't segfault on undefined symbols. + +2003-06-17 Paul Mackerras + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/ucontext_i.h: New file. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Adjust. + +2003-06-17 Jakub Jelinek + + * posix/regcomp.c (build_word_op): Use alnum instead of alpha class. + +2003-06-17 Ulrich Drepper + + * sysdeps/unix/clock_nanosleep.c (clock_nanosleep): nanosleep + takes care of enabling cancellation. + + * sysdeps/pthread/aio_suspend.c (aio_suspend): Make aio_suspend + cancelable. It's not correct to disable cancellation. Instead of + a cleanup handler. + + * sysdeps/unix/sysv/linux/sigtimedwait.c: If SIGCANCEL is defined + and part of the incoming set, create a temporary set without this + signal. + * sysdeps/unix/sysv/linux/sigwait.c: Likewise. + * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. + + * sysdeps/unix/sysv/linux/sleep.c: Use CANCELLATION_P if defined before + returning because seconds==0. Add __builtin_expect. + +2003-06-16 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/socket.S: Add unwind information. + + * sysdeps/unix/sysv/linux/wait.c (__libc_wait): Fix type of result + variable. + +2003-06-16 Thorsten Kukuk + + * include/libc-symbols.h: Add static_link_warning macro. + * grp/initgroups.c: Print linker warning if this function + is called in a static linked binary. + * nss/getXXbyYY.c: Likewise. + * nss/getXXbyYY_r.c: Likewise. + * nss/getXXent.c: Likewise. + * nss/getXXent_r.c: Likewise. + * sysdeps/posix/getaddrinfo.c: Likewise. + +2003-06-16 Bruno Haible + + * iconvdata/gconv-modules (ISO-8859-15): Add aliases ISO_8859-15, + LATIN-9. + (ISO-8859-16): Add aliases ISO_8859-16:2001, ISO_8859-16. + (IBM1047): Add alias IBM-1047. + (GBK): Add aliases MS936, WINDOWS-936. + +2003-06-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/xstatconv.c (__xstat_conv): Define even if + defined __ASSUME_STAT64_SYSCALL && defined XSTAT_IS_XSTAT64. + (__xstat64_conv): Change xstat_conv to __xstat_conv. + +2003-06-16 Ulrich Drepper + + * locale/iso-639.def: Update from current official ISO 639. + + * math/tgmath.h (__TGMATH_UNARY_IMAG_ONLY): Removed. + +2003-06-15 Andreas Jaeger + + * sysdeps/i386/fpu/feenablxcpt.c (feenableexcept): Correct setting + of MXCSR. + * sysdeps/i386/fpu/fedisblxcpt.c (fedisableexcept): Likewise. + * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise. + Reported by Arnaud Desitter . + + * math/tgmath.h (carg): Handle real arguments. + (conj): Likewise. + (cproj): Likewise. + (cimag): Likewise. + (creal): Likewise. + + * math/Makefile (CFLAGS-test-tgmath-ret.c): New. + (tests): Add test-tgmath-ret. + * math/test-tgmath-ret.c: New file. + + * math/tgmath.h (ilogb): Return always an int. + +2003-06-16 Ulrich Drepper + + * elf/rtld.c (dl_main): Use l_map_start not l_addr in Phdr + computation so that prelinking works. + +2003-06-15 Ulrich Drepper + + * elf/dl-iteratephdr.c (__dl_iterate_phdr): Don't skip dynamic + linker's map. + * elf/rtld.c (dl_main): Initialize l_phdr and l_phnum of of the + dynamic linker's map. + + Fix cancellation point handling wrt exception based cleanup. + * io/Makefile: Compile fcntl.c, poll.c, and lockf.c with exceptions. + * misc/Makefile: Compile pselect.c, readv.c, writev.c, and usleep.c + with exceptions. + * posix/Makefile: Compile pread.c, pread64.c, pwrite.c, pwrite64.c, + sleep.c, wait.c, waitid.c, and waitpid.c with exceptions. + * rt/Makefile: Compile aio_suspend.c and clock_nanosleep.c with + exceptions. + * signal/Makefile: Compile sigpause.c, sigsuspend.c, sigtimedwait.c, + sigwait.c, and sigwaitinfo.c with exceptions. + * stdlib/Makefile: Compile system.c with exceptions. + * sysvipc/Makefile: Compile msgrcv.c and msgsnd.c with exceptions. + * termios/Makefile: Compile tcdrain.c with exceptions. + * sysdeps/generic/lockf.c: Add comment explaining the cancellation + situation. + * sysdeps/generic/pselect.c: Likewise. + * sysdeps/posix/sigpause.c: Likewise. + * sysdeps/posix/system.c: Likewise. + * sysdeps/posix/waitid.c: Likewise. + * sysdeps/unix/sysv/linux/sleep.c: Likewise. + * sysdeps/unix/sysv/linux/usleep.c: Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Major rewrite of + INTERNAL_SYSCALL to not use push inside asm statement so that + unwind info is correct around the syscall. + * sysdeps/unix/clock_nanosleep.c: Add cancellation support. + * sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise. + +2003-06-15 Andreas Jaeger + + * sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): + Add CFI directives. + +2003-06-15 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/Makefile: Add missing endif and + create $(objpfx). + +2003-06-14 Ulrich Drepper + + * sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Use __close, + not close. + + * inet/inet6_option.c (inet6_option_alloc): Add libc_hidden_def. + * include/netinet/in.h (inet6_option_alloc): Add libc_hidden_proto + definition. + + * inet/netinet/ip6.h (IP6OPT_PAD1, IP6OPT_PADN): Define. + * inet/netinet/in.h: Add prototypes for inet6_option_* functions. + * inet/Makefile (routines): Add inet6_option. + * inet/inet6_option.c: New file. + * inet/Versions [GLIBC_2.3.3] (libc): Add inet6_option_space, + inet6_option_init, inet6_option_append, inet6_option_alloc, + inet6_option_next, and inet6_option_find. + +2003-06-13 Ulrich Drepper + + * inet/netinet/ip6.h (struct ip6_ext): Define. + + * sysdeps/unix/sysv/linux/sys/param.h (howmany): Optimize for gcc. + + Fixing gcc 3.3 warnings, part II. + * argp/argp-help.c (hol_entry_long_iterate): Always inline. + * elf/dl-load.c (cache_rpath): Don't inline. + * iconvdata/cns11642l2.h: Always inline all functions. + * iconvdata/iso-ir-165.h: Likewise. + * locale/Makefile (aux): Add coll-lookup. + * locale/coll-lookup.c: New file. + * locale/coll-lookup.h (collidx_table_lookup): Do not define here. + (collseq_table_lookup): Likewise. + * locale/weightwc.h: Adjust collidx_table_lookup calls for name change. + * posix/fnmatch_loop.c: Adjust collseq_table_lookup calls for name + change. + * posix/regcomp.c: Likewise. + * posix/regexec.c: Likewise. + * locale/programs/3level.h (*_get): Always inline. + * locale/programs/locfile.h: Move definition of handle_copy to... + * locale/programs/locfile.c: ...here. + * locale/programs/ld-collate.c (obstack_int32_grow): Always inline. + (obstack_int32_grow_fast): Likewise. + (utf8_encode): Likewise. + (find_element): Avoid aliasing problems. + (insert_value): Likewise. + (collate_read): Likewise. + * nss/getent.c (print_hosts): Don't inline + (print_networks): Likewise. + (print_shadow): Likewise. + (build_doc): Likewise. + * nss/nss_files/files-parse.c [ENTDATA] (parser_stclass): Don't + inline. + * posix/regcomp.c (re_set_fastmap): Always inline. + (seek_collating_symbol_entry): Likewise. + (lookup_collation_sequence_value): Likewise. + (build_range_exp): Likewise. + (build_collating_symbol): Likewise. + * posix/regexec.c (acquire_init_state_context): Don't inline. + (clean_state_log_if_need): Likewise. + * resolv/res_send.c (eConsIovec): Rewrite to not return struct and + adjust all callers. + (evConsTime): Likewise. + (evAddTime): Likewise. + (evSubTime): Likewise. + (evNowTime): Likewise. + (evTimeSpec): Removed. + (__libc_res_nsend): Avoid aliasing problem. + * sysdeps/unix/sysv/linux/ifreq.h: Move old_siocgifconf definition to.. + * sysdeps/unix/sysv/linux/ifreq.c: ...here. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_string_hwcap): + Always inline. + (_dl_string_platform): Likewise. + * wctype/wchar-lookup.h (wctype_table_lookup): Always inline. + (wcwidth_table_lookup): Likewise. + (wctrans_table_lookup): Likewise. + + * sysdeps/unix/sysv/linux/sys/epoll.h: Include . + +2003-06-12 Ulrich Drepper + + * wcsmbs/wchar.h: Define wint_t in std namespace, too [PR libc/5034]. + +2003-05-29 Jim Meyering + + * time/strftime.c (my_strftime) [!defined _NL_CURRENT + && HAVE_STRFTIME]: Use underlying_strftime for %r. + Suggested by Daniel Yacob . + +2003-06-12 Steven Munroe + + * sysdeps/powerpc/powerpc64/dl-machine.h (RTLD_START): Replace + @got notation with @toc. + * sysdeps/powerpc/powerpc64/sysdep.h (CALL_MCOUNT): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Likewise. + +2003-06-12 Ulrich Drepper + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Set no_inet6_date also + if only PF_INET address is needed. + + * nss/getXXbyYY_r.c: Make sure we always return a nonzero value in + case of an error. + + * scripts/config.guess: Update from upstream version. + * scripts/config.sub: Likewise. + +2003-06-12 Jakub Jelinek + + * locale/programs/ld-time.c (time_output): Also copy the era format, + not only the name. + +2003-06-12 H.J. Lu + + * posix/transbug.c (run_test): Return 1 for failure. + (do_test): Compare only if run_test is successful. + +2003-06-12 Simon Josefsson + + * argp/argp.h [!__THROW]: Define if undefined. + +2003-06-12 Ulrich Drepper + + * sysdeps/unix/sysv/linux/cris/sysdep.h: Fix handling of syscalls with + more than four parameters. + Patch by Uwe Reimann . + +2003-06-12 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/kernel_stat.h: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: New file. + * sysdeps/unix/sysv/linux/x86_64/kernel_stat.h: New file. + + * stdio-common/printf-parsemb.c: Include stdlib.h and sys/param.h. + +2003-06-12 Roland McGrath + + * Makerules ($(objpfx)stubs): Rewrite sed magic. + +2003-02-28 Isamu Hasegawa + + * posix/regcomp.c (parse_expression): Deliver translation to + build_word_op, and build_charclass. + (build_charclass): Apply translation for character classes too. + (build_word_op): Deliver translation to build_charclass. + * posix/transbug.c: New file. + * posix/Makefile (tests): Add transbug. + +2003-06-04 Paolo Bonzini + + * posix/regexec.c (group_nodes_into_DFAstates): Check for + NEXT_ENDBUF_CONSTRAINT. Move check for constraints which do a + 'continue' before the others. + +2003-06-11 Ulrich Drepper + + * dirent/scandir.c (SCANDIR): Reset errno after calling selector + function [PR libc/5045]. + + * sysdeps/i386/bits/byteswap.h (__bswap_32): Use bswap instruction + also for P4. + + * time/tzfile.c: Add a couple of __builtin_expect. + + Remove warnings gcc 3.3 shows. + * argp/argp-help.c (hol_entry_short_iterate): Don't inline. + * elf/dl-load.c (fillin_rpath): Likewise. + (add_path): Likewise. + * elf/dl-version.c (find_needed): Always inline. + * elf/do-lookup.c (FCT): Don't inline. + * iconv/Makefile: Extend vpath to intl subdir. + (iconvconfig-modules): Add hash-string. + * iconv/gconv_charset.h (strip): Don't inline. + (upstr): Always inline. + Move __gconv_compare_alias prototype to... + * iconv/gconv_int.h: ...here. + * iconv/gconv_db.c: Don't include gconv_charset.h. + * iconv/gconv_conf.c (add_alias): Don't inline. + (insert_module): Likewise. + * iconv/gconv_simple.c (internal_ucs4_loop): Always inline. + (internal_ucs4_loop_unaligned): Likewise. + (internal_ucs4_loop_single): Likewise. + (ucs4_internal_loop): Likewise. + (ucs4_internal_loop_unaligned): Likewise. + (ucs4_internal_loop_single): Likewise. + (internal_ucs4le_loop): Always inline. + (internal_ucs4le_loop_unaligned): Likewise. + (internal_ucs4le_loop_single): Likewise. + (ucs4le_internal_loop): Likewise. + (ucs4le_internal_loop_unaligned): Likewise. + (ucs4le_internal_loop_single): Likewise. + * iconv/loop.c: Always inline the defined functions. + * iconvdata/cns11642.h: Likewise. + * iconvdata/cns11642l1.h: Likewise. + * iconvdata/euc-kr.c: Likewise. + * iconvdata/gb2312.h: Likewise. + * iconvdata/jis0201.h: Likewise. + * iconvdata/jis0208.h: Likewise. + * iconvdata/jis0212.h: Likewise. + * iconvdata/jisx0213.h: Likewise. + * iconvdata/ksc5601.h: Likewise. + * iconvdata/utf-7.c (base64): Don't inline. + * include/libc-symbols.h (symbol_set_first_element): Add cast + (symbol_set_end_p): Likewise. + * include/set-hooks (RUN_HOOK): Likewise. + * inet/Makefile (aux): Add ifreq. + * intl/Makefile (aux): Add some entries from routines. Add + hash-string. + * intl/hash-string.c: New file. + * intl/hash-string.h: Remove hash_string definition. Declare + __hash_string. + * iconv/gconv_cache.c (find_module_idx): Adjust hash_string caller. + * iconv/iconvconfig.c (new_name): Likewise. + * intl/dcigettext.c (_nl_find_msg): Likewise. + * intl/loadmsgcat.c (_nl_load_domain): Likewise. + * io/ftw.c (open_dir_stream): Always inline. + (process_entry): Don't inline. + * locale/findlocale.c: Include gconv_int.h. + * locale/setlocale.c (new_composite_name): Don't inline. + * locale/weight.h (findidx): Always inline. + * locale/weightwc.h (findidx): Likewise. + * locale/programs/linereader.c (lr_ignore_rest): Define here. + * locale/programs/linereader.h (lr_ignore_rest): Don't define here, + just declare it. + (lr_getc): Always inline. + (lr_ungetc): Likewise. + * nss/nss_files/files-parse.c (parse_list): Likewise. + * stdio-common/Makefile (aux): Add printf-parsemb and + printf-parsewc. + * stdio-common/_itoa.h (_itoa_word): Always inline. + (_fitoa_word, _fitoa): Don't define here, only declare. + * stdio-common/_itoa.c (_iftoa_word): Add here. + (_fitoa): Likewise. + * stdio-common/_itowa.h (_itowa_word): Always inline. + * stdio-common/printf-parse.h (read_int): Don't inline. + (find_spec): Don't define. + Declare __find_specmb and __find_specwc. + (parse_one_spec): Don't define. + Declare __parse_one_specmb and __parse_one_specwc. + * stdio-common/printf-parsemb.c: New file. + * stdio-common/printf-parsewc.c: New file. + * stdio-common/vfprintf.c: Update calls to find_spec and + parse_one_spec for new names. + * stdio-common/printf-prs.c: Likewise. Define DONT_NEED_READ_INT. + * stdlib/Makefile (aux): Add grouping and groupingwc. + * stdlib/grouping.c: New file. + * stdlib/groupingwc.c: New file. + * stdlib/grouping.h (correctly_grouped_prefix): Don't define here. + Just prototype. + * stdlib/rpmatch.c (try): Don't inline. + * stdlib/strtod.c (round_and_return): Don't line. + (str_to_mpn): Likewise. + (__mpn_lshift_1): Always inline. Optimize only for constant count. + Adjust for name change of correctly_grouped_prefix. + * sysdeps/generic/strtol.c: Adjust for name change of + correctly_grouped_prefix. + * string/strxfrm.c (utf8_encode): Don't inline. + * sysdeps/generic/dl-cache.c: Define _dl_cache_libcmp. + * sysdeps/generic/dl-cache.h: Just declare _dl_cache_libcmp. + * sysdeps/generic/ifreq.c: New file. + * sysdeps/unix/sysv/linux/ifreq.c: New file. + * sysdeps/generic/ifreq.h (__ifreq): Only declare here. + * sysdeps/unix/sysv/linux/ifreq.h: Likewise. + * sysdeps/generic/ldsodefs.h (_dl_name_match_p): Always inline. + * sysdeps/generic/unwind-dw2-fde.c (start_fde_sort): Don't inline. + (fde_split): Likewise. + (fde_merge): Likewise. + (end_fde_sort): Likewise. + (init_object): Likewise. + (binary_search_unencoded_fdes): Likewise. + (binary_search_single_encoding_fdes): Likewise. + (binary_search_mixed_encoding_fdes): Likewise. + * sysdeps/generic/wordexp.c (w_addchar): Don't inline. + * sysdeps/i386/dl-machine.c (elf_machine_runtime_setup): Always inline. + * sysdeps/posix/sprofil.c (profil_count): Don't inline. + * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): + Add xstatconv. + * sysdeps/unix/sysv/linux/xstatconv.h: New file. + * sysdeps/unix/sysv/linux/xstatconv.c: Don't inline the function. + Export them. Prepend __ to name. + * sysdeps/unix/sysv/linux/Dist: Add xstatconv.h. + * sysdeps/unix/sysv/linux/fxstat.c: Adjust for name change of + conversion functions. + * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/xstat64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. + * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max, + __statfs_filesize_max, __statfs_symlinks): Define here. __ prepended + to name. Change callers. + * sysdeps/unix/sysv/linux/pathconf.h (__statfs_link_max, + __statfs_filesize_max, __statfs_symlinks): Don't define here, just + declare. + * sysdeps/unix/sysv/linux/fpathconf.c: Change all callers. + * time/tzfile.c (decode): Always inline. + * wcsmbs/wcsnrtombs.c: Change type of inbuf to unsigned char*. + Remove cast in tomb function call. + * wcsmbs/wcsrtombs.c Likewise. + * wcsmbs/wcstob.c: Introduce new temp variable to take pointer in + tomb function call. + +2003-06-10 Ulrich Drepper + + * po/zh_CN.po: Update from translation team. + +2003-06-10 Jakub Jelinek + + * sysdeps/unix/sysv/linux/bits/in.h (IPV6_V6ONLY, IPV6_JOIN_ANYCAST, + IPV6_LEAVE_ANYCAST, IPV6_IPSEC_POLICY, IPV6_XFRM_POLICY): Define. + +2003-06-10 Ulrich Drepper + + * inet/Makefile (aux): Add check_pf. + * include/ifaddrs.h: Add prototype for __check_pf. + * sysdeps/generic/check_pf.c: New file. + * sysdeps/unix/sysv/linux/check_pf.c: New file. + * sysdeps/unix/sysv/linux/ifaddrs.h (__no_netlink_support): Renamed + from no_netlink_support. Export. + * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't call getifaddrs, + call __check_pf. + + * sysdeps/generic/ifaddrs.h: Add libc_hidden_def. + + * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory + from getifaddr calls. + +2003-06-09 Jakub Jelinek + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_SETRESGID_SYSCALL): Define. + * sysdeps/unix/sysv/linux/setegid.c: Use __ASSUME_SETRESGID_SYSCALL + instead of __ASSUME_SETRESUID_SYSCALL. + (setegid): Only use setresgid32 inline syscall if __NR_setresgid32 is + defined. + * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Only use setresgid32 + inline syscall if __NR_setresuid32 is defined. + * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use + __ASSUME_SETRESGID_SYSCALL instead of __ASSUME_SETRESUID_SYSCALL. + * sysdeps/unix/sysv/linux/i386/setregid.c: Backout last changes. + * sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Protect + code handling non-existant setresgid32 syscall with + #if __ASSUME_SETRESGID_SYSCALL == 0. + +2003-06-09 Andreas Schwab + + * sunrpc/Makefile (generated): Remove rpc-proto.c, rpc-proto.d. + ($(rpcsvc:%.x=$(objpfx)x%$o)): Don't depend on + $(objpfx)rpc-proto.d. + (rpcsvc-dt-files, rpcsvc-depfiles): Define. Include + $(rpcsvc-depfiles) instead of $(objpfx)rpc-proto.d. + ($(objpfx)rpc-proto.d, $(objpfx)rpc-proto.c): Remove rules. + +2003-06-08 Ulrich Drepper + + * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Use setresuid32 + syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is + defined drop compatibility code. + * sysdeps/unix/sysv/linux/setegid.c (setegid): Use setresgid32 + syscall directly if possible. If __ASSUME_SETRESUID_SYSCALL is + defined drop compatibility code. + * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Use + setresuid32 syscall directly if possible. + * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Use + setresgid32 syscall directly if possible. + * sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Make POSIX + compliant. Don't change sgid. + * sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Make POSIX + compliant. Don't change suid. + + * config.h.in: Add have-forced-unwind. + * configure.in: Add AC_SUBST(libc_cv_forced_unwind). + +2003-06-07 Ulrich Drepper + + * test-skeleton.c (main): If EXPECTED_STATUS is defined check that + returned status from child matches. + + * Makeconfig (gnulib): Add -lgcc_eh once again. + +2003-06-06 Ulrich Drepper + + * test-skeleton.c (main): Use TEMP_FAILURE_RETRY with waitpid. + + * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Only allow + %edx for first parameter. This means no pushl and therefore the + unwind info isn't screwed up. + +2003-06-04 Richard Henderson + + * sysdeps/alpha/dl-machine.h (RTLD_START): Fix top-of-stack backtrace. + * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. + * sysdeps/alpha/elf/start.S: Likewise. Remove pointless allocation. + * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use standard ldgp + entry sequence and explicit relocs. Add unwind info for sigreturn + and rt_sigreturn. + * configure.in (libc_cv_asm_cfi_directives): Test .cfi_remember_state. + + * sysdeps/unix/sysv/linux/alpha/syscalls.list (semtimedop): New. + Annotate some parameters. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_semtimedop): New. + + * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Fix typo in conversion. + + * include/libc-symbols.h (symbol_set_declare): Use arrays + of unspecified size. + +2003-06-04 Jakub Jelinek + + * config.make.in (ASFLAGS-config): New. + * Makeconfig (ASFLAGS): Append $(ASFLAGS-config). + * configure.in (libc_cv_as_noexecstack): New check. + (ASFLAGS_config): Substitute. + +2003-06-04 Jakub Jelinek + + * sysdeps/i386/fpu/bits/mathinline.h (log1p, asinh, acosh, atanh, + hypot, logb): Protect with #ifdef __FAST_MATH__. + +2003-06-04 Thorsten Kukuk + + * sysdeps/i386/fpu/bits/mathinline.h (ldexpf, ldexpl): Protect with + #ifdef __FAST_MATH__. + +2003-06-03 Ulrich Drepper + + * sysdeps/generic/glob.c [HAVE_D_TYPE] (glob_in_dir): Also allow + DT_LNK entries if GLOB_ONLYDIR is set [PR libc/5043]. + * posix/globtest.sh: Adjust for this change. + + * sysdeps/unix/sysv/linux/ifaddrs.c (netlink_open): Call getsockname + to get the actual PID value used in the records passed up. + (getifaddrs): Don't initialize nh.pid here. + +2003-06-02 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ifaddrs.c (netlink_receive): Minor + optimization. + + * po/zh_CN.po: Update from translation team. + + * posix/getconf.c (main): Also recognize names without the + _POSIX_ prefix. + + * elf/Makefile (CFLAGS-dl-lookup.c): Define. + +2003-06-02 Bernd Schmidt + + * sysdeps/i386/fpu/bits/mathinline.h (sqrt, __sqrtl, ldexp, + ldexpf, ldexpl): Only define if __FAST_MATH__. + +2003-06-02 Richard C. Bilson + + Replace hard-coded offsets into struct sigcontext with generated file. + * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: New file. + * sysdeps/unix/sysv/linux/ia64/Makefile + [$(subdir) = stdlib] (gen-as-const-headers): Add it. + * sysdeps/unix/sysv/linux/ia64/ucontext_i.h: Include it instead of + defining SC_* macros here. + +2003-06-02 Jakub Jelinek + + * sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PID): Remove. + +2003-06-01 Jakub Jelinek + + * sysdeps/i386/dl-machine.h: Include . + +2003-06-01 Ulrich Drepper + + * test-skeleton.c (main): Request getopt to not reorder the + command line. + + * elf/Makefile (CFLAGS-dl-runtime.c): Define. + + * wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match + stpncpy. + +2003-05-31 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h (SA_NOCLDWAIT): Define. + +2003-05-31 Jakub Jelinek + + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_plt_conflict): + New function. + (elf_machine_rela) : Avoid + RESOLVE_CONFLICT_FIND_MAP. If RESOLVE_CONFLICT_FIND_MAP is defined, + call elf_machine_plt_conflict instead of elf_machine_fixup_plt. + +2003-05-31 Ulrich Drepper + + * sysdeps/i386/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add + CFI directives. + + * csu/Makefile: Fix Makefile warnings regarding Scrt1.o. + + * libio/fileops.c (_IO_file_open): Don't mark as inline. + + * sysdeps/ia64/elf/initfini.c (gmon_initializer): Mark with + attribute used. + +2003-05-30 Ulrich Drepper + + * scripts/config.guess: Update from master copy. + * scripts/config.sub: Likewise. + +2003-05-30 Guido Guenther + + * sysdeps/mips/mips64/bsd-_setjmp.S: Include for + SETUP_GP64 and friends. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: Fix register + names in internal_syscall{6,7}. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/mips/pread.c [_MIPS_SIM == _ABI64]: Fix + number of syscall arguments. + * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. + +2003-05-30 Andreas Jaeger + + * sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): + Add CFI directives. + + * sysdeps/unix/sysv/linux/x86_64/sigaction.c (RESTORE2): Add CFI + directives. + + * sysdeps/generic/sysdep.h: Add CFI_* macros for C files. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): + Add CFI directives. + +2003-05-30 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/elf/start.S: Make code compilable with + SHARED. + +2003-05-11 Andreas Schwab + + * Makerules: Always use -MP together with -MD. + (sed-remove-dotot): Substitute $(..) also at start of line. + ($(stdio_lim:h=st)): Use -MD instead of SUNPRO_DEPENDENCIES. + Generated defines with a single compiler call. + Use $(sed-remove-dotdot). + * mach/Makefile ($(objpfx)mach-syscalls.mk): Use -MD instead + of DEPENDENCIES_OUTPUT, and use $(sed-remove-objpfx). + * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): + Use -MD instead of SUNPRO_DEPENDENCIES, and use $(sed-remove-objpfx). + * sysdeps/unix/sysv/linux/mips/Makefile + ($(objpfx)syscall-%.h): Likewise. + +2003-05-28 Roland McGrath + + * malloc/malloc.h [! __GNUC__] (__const): Define if undefined. + +2003-05-26 Aldy Hernandez + + * soft-fp/soft-fp.h (FP_EX_UNDERFLOW): Define to 0. + +2003-05-28 Roland McGrath + + * sysdeps/unix/sysv/linux/ia64/setcontext.S: Pass fourth argument to + rt_sigprocmask system call. + * sysdeps/unix/sysv/linux/ia64/ucontext_i.h (SC_MASK): Fix value. + From Peter A. Buhr . + +2003-05-28 Ulrich Drepper + + * include/libc-symbols.h: Define hidden attribute for real also if + LIBC_NONSHARED is defined. Patch by Jakub Jelinek. + + * csu/Makefile: Add rules to build Scrt1.o. + * sysdeps/i386/elf/start.S: Make code compilable with SHARED. + * sysdeps/x86_64/elf/start.S: Likewise. + +2003-05-27 Jakub Jelinek + + * stdio-common/vfprintf.c (process_arg, process_string_arg): Use + pa_int/pa_u_int instead of pa_short_int, pa_u_short_int and pa_char. + * stdio-common/printf-parse.h (union printf_arg): Remove pa_char, + pa_short_int, pa_u_short_int and pa_float. + +2003-05-26 Jakub Jelinek + + * libio/strops.c (_IO_str_init_static): Change into a wrapper around + _IO_str_init_static_internal. + (_IO_str_init_static_internal): Moved from _IO_str_init_static, + change size argument to _IO_size_t, don't limit sprintf to 64M. + (_IO_str_init_readonly): Call _IO_str_init_static_internal. + * libio/wstrops.c (_IO_wstr_init_static): Change size argument to + _IO_size_t, don't limit swprintf to 256M. + (_IO_wstr_init_readonly): Remove. + * libio/libioP.h (_IO_str_init_static_internal, _IO_wstr_init_static): + Adjust prototypes. + (_IO_wstr_init_readonly): Remove prototype. + * libio/iovsprintf.c (_IO_vsprintf): Use + _IO_str_init_static_internal instead of INTUSE(_IO_str_init_static). + * libio/iovsscanf.c (_IO_vsscanf): Likewise. + * libio/memstream.c (open_memstream): Likewise. + * libio/obprintf.c (_IO_obstack_vfprintf): Likewise. + * libio/vasprintf.c (_IO_vasprintf): Likewise. + * libio/vsnprintf.c (_IO_vsnprintf): Likewise. + * stdio-common/tst-sprintf.c (main): Add new test. + +2003-05-26 Ulrich Drepper + + * stdio-common/vfprintf.c (vfprintf): Be bug-compatible with some + other implementation in respect of multiple uses of parameter with + different types. + +2003-05-25 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_FUTEX_REQUEUE for >= 2.5.70. + +2003-05-22 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Add CFI + directives. + * sysdeps/unix/sysv/linux/x86_64/time.S: Likewise. + * sysdeps/x86_64/strtok.S: Likewise. + +2003-05-20 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Change SI_ASYNCNL + to -60 and define SI_TKILL. + +2003-05-21 H.J. Lu + + * math/test-fenv.c (feexcp_nomask_test): Fix comment. + (feexcp_mask_test): Likewise. + +2003-05-21 Ulrich Drepper + + * locale/programs/locale.c (main): Fix typo in last patch. + + * csu/elf-init.c: Mark __preinit_array_start, __preinit_array_end, + __init_array_start, __init_array_end, __fini_array_start, and + __fini_array_end as hidden. + +2003-05-21 Petter Reinholdtsen + + * locale/programs/locale.c (main): Report an error if setlocale() + fails [PR libc/2254]. + +2003-05-21 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/system.c: New file. + +2003-05-21 Jakub Jelinek + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (LOADARGS_0, + LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, + LOADARGS_6): Don't error if syscall argument is a string literal. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (LOADARGS_0, + LOADARGS_1, LOADARGS_2, LOADARGS_3, LOADARGS_4, LOADARGS_5, + LOADARGS_6): Likewise. + +2003-05-21 Andreas Jaeger + + * sysdeps/generic/sysdep.h (cfi_offset, cfi_startproc, + cfi_endproc, cfi_def_cfa, cfi_def_ccfa_register, + cfi_def_cfa_offset, cfi_adjust_cfa_offset, cfi_offset): Define. + + * sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Add cfi directives. + (ENTRY): Likewise. + (END): Likewise. + + * configure.in: Test for asm cfi directives. + + * config.h.in: Add HAVE_ASM_CFI_DIRECTIVES. + +2003-05-17 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/syscall.S: Revert last patch. + + * rt/tst-clock_nanosleep.c: Include for clock_nanosleep. + +2003-05-16 Ulrich Drepper + + * rt/Makefile (tests): Add tst-clock_nanosleep. + * rt/tst-clock_nanosleep.c: New file. + * posix/Makefile (tests): Add tst-nanosleep. + * posix/tst-nanosleep.c: New file. + + * sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Fix definition. + + * include/features.h (__USE_XOPEN2K): Define also for + _POSIX_C_SOURCE>=200112L. + + * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Fold + SI_TKILL code into SI_USER. + * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise. + + * sysdeps/posix/sigpause.c (do_sigpause): Use sigdelset after all. + +2003-05-15 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/dl-machine.c (_dl_reloc_overflow): + Remove sym argument, always use refsym. + (__process_machine_rela): Adjust callers. + * sysdeps/powerpc/powerpc64/dl-machine.c (_dl_reloc_overflow): + Likewise. + * sysdeps/powerpc/powerpc32/dl-machine.h (_dl_reloc_overflow): + Adjust prototype. + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise. + +2003-05-15 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Fix typo + (DL_NEED_SYSINFO -> NEED_DL_SYSINFO). If aux value is not known + print numeric values. + +2003-05-12 Thorsten Kukuk + + * inet/netinet/igmp.h: Sync with Linux Kernel 2.5.69 and *BSD. + +2003-05-14 Andreas Schwab + + * sysdeps/unix/sysv/linux/ia64/umount.c: New file. + +2003-05-14 Jakub Jelinek + + * elf/rtld.c (dl_main): For LD_TRACE_PRELINKING print search scope + even if no DT_NEEDED is present. + +2003-05-13 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/setjmp.S: Fix the fix from + 2003-03-27: setjmp is NOT a leaf-routine (due to the call to + __sigjmp_save) so we can't keep the saved unat value in a scratch + register (r16). Use loc2 instead. + +2003-05-13 Ulrich Drepper + + * csu/Makefile: Do compile elf-init with PIC flag since in dynamic + binaries it has to be relocatable. + + * sysdeps/unix/sysv/linux/waitpid.c: Use waitpid syscall is available. + +2003-05-12 Steven Munroe + + * sysdeps/powerpc/bits/atomic.h + (__arch_compare_and_exchange_bool_8_rel): Define. + (__arch_compare_and_exchange_bool_16_rel): Define. + (__ARCH_REL_INSTR): Define if not already defined. + (__arch_atomic_exchange_and_add_32): Add "memory" to clobber list. + (__arch_atomic_decrement_if_positive_32): + Add "memory" to clobber list. + (__arch_compare_and_exchange_val_32_acq): Remove release sync. + (__arch_compare_and_exchange_val_32_rel): Define. + (__arch_atomic_exchange_32): Remove. + (__arch_atomic_exchange_32_acq): Define. + (__arch_atomic_exchange_32_rel): Define. + (atomic_compare_and_exchange_val_rel): Define. + (atomic_exchange_acq): Use __arch_atomic_exchange_*_acq forms. + (atomic_exchange_rel): Define. + * sysdeps/powerpc/powerpc32/bits/atomic.h + (__arch_compare_and_exchange_bool_32_acq): Remove release sync. + (__arch_compare_and_exchange_bool_32_rel): Define. + (__arch_compare_and_exchange_bool_64_rel): Define. + (__arch_compare_and_exchange_val_64_rel): Define. + (__arch_atomic_exchange_64): Remove. + (__arch_atomic_exchange_64_acq): Define. + (__arch_atomic_exchange_64_rel): Define. + * sysdeps/powerpc/powerpc64/bits/atomic.h + (__arch_compare_and_exchange_bool_32_rel): Define. + (__arch_compare_and_exchange_bool_64_acq): Remove release sync. + (__arch_compare_and_exchange_bool_64_rel): Define. + (__arch_compare_and_exchange_val_64_acq): Remove release sync. + (__arch_compare_and_exchange_val_64_rel): Define. + (__arch_atomic_exchange_64): Remove. + (__arch_atomic_exchange_64_acq): Define. + (__arch_atomic_exchange_64_rel): Define. + (__arch_atomic_exchange_and_add_64): Add "memory" to clobber list. + (__arch_atomic_decrement_if_positive_64): + Add "memory" to clobber list. + [!UP](__ARCH_REL_INSTR): Define as lwsync. + +2003-05-11 Andreas Schwab + + * io/Makefile ($(objpfx)ftwtest.out): Use absolute file names. + +2003-05-11 Ulrich Drepper + + * time/tst-strftime.c (do_test): Add tests for - flag. + +2003-05-11 Jim Meyering + + * time/strftime.c (my_strftime): Let the `-' (no-pad) flag affect + the space-padded-by-default conversion specifiers, %e, %k, %l. + +2003-05-11 Andreas Schwab + + * sysdeps/generic/sched_setaffinity.c: Fix parameter name. + +2003-05-10 Ulrich Drepper + + * sysdeps/generic/bits/sched.h: Define cpu_set_t only if not + already defined and when really needed. + * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. + +2003-05-09 Thorsten Kukuk + + * sysdeps/unix/sysv/linux/netinet/igmp.h: Don't include kernel + headers, add defines from kernel header, move it from here... + * inet/netinet/igmp.h: ... to here. + * inet/Makefile (headers): Add netinet/igmp.h. + * sysdeps/unix/sysv/linux/Makefile: Remove netinet/igmp.h. + * sysdeps/unix/sysv/linux/Dist: Remove netinet/igmp.h. + +2003-05-10 Ulrich Drepper + + * sysdeps/pthread/lio_listio64.c (lio_listio64): If SIG == NULL, + use dummy sigevent structure with SIGEV_NONE [PR libc/5015]. + +2003-05-09 Thorsten Kukuk + + * libio/bits/stdio.h: Sync prototypes with libio/stdio.h + (remove __THROW from possible cancellation points). + +2003-05-10 Ulrich Drepper + + * posix/sched.h (CPU_SETSIZE): Define. + +2003-05-09 Ulrich Drepper + + * Makeconfig (gnulib): Remove -lgcc_eh again. + + * posix/sched.h: Change prototypes of sched_getaffinity and + sched_setaffinity. Define CPU_SET, CPU_CLR, CPU_ISSET, and CPU_ZERO. + * sysdeps/generic/sched_getaffinity.c: Adjust definition. + * sysdeps/generic/sched_setaffinity.c: Likewise. + * sysdeps/generic/bits/sched.h: Define __CPU_SETSIZE, __NCPUBITS, + __CPUELT, __CPUMASK, cpu_set_t, __cpu_mask, __CPU_ZERO, __CPU_SET, + __CPU_CLR, and __CPU_ISSET. + * sysdeps/unix/sysv/linux/bits/sched.h: Likewise. + * sysdeps/unix/sysv/linux/sched_getaffinity.c: New file. + * sysdeps/unix/sysv/linux/sched_setaffinity.c: New file. + + * include/atomic.h (atomic_exchange_acq): Renamed from atomic_exchange. + (atomic_exchange_rel): New #define. + * sysdeps/ia64/bits/atomic.h: Likewise. + * sysdeps/i386/i486/bits/atomic.h (atomic_exchange_acq): Renamed from + atomic_exchange. + * sysdeps/m68k/m68020/bits/atomic.h: Likewise. + * sysdeps/powerpc/bits/atomic.h: Likewise. + * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: Likewise. + * sysdeps/sparc/sparc64/bits/atomic.h: Likewise. + * sysdeps/x86_64/bits/atomic.h: Likewise. + * csu/tst-atomic.c: Use atomic_exchange_acq instead of atomic_exchange. + + * sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c: New file. + +2003-05-08 Ulrich Drepper + + * malloc/thread-m.h: Remove special handling of thread_atfork if + HAVE_register_atfork_malloc is defined. + +2003-05-07 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/syscall.S: Add DWARF2 unwind + information. + +2003-05-06 Ulrich Drepper + + * libio/oldiofdopen.c (_IO_old_fdopen): Use _IO_old_init not _IO_init. + * libio/oldiofopen.c (_IO_old_fopen): Likewise. + * libio/libioP.h: Declare _IO_old_init. + * libio/genops.c (_IO_no_init): Split in two. New function + _IO_old_init. + +2003-05-05 Ulrich Drepper + + * sysdeps/generic/enbl-secure.c (__libc_enable_secure_decided): New + variable. + (__libc_init_secure): Don't do anything if __libc_enable_secure_decided + is nonzero. + * include/unistd.h: Declare __libc_enable_secure_decided. + * elf/dl-support.c (_dl_aux_init): Recognize AT_UID, AT_EUID, AT_GID, + and AT_EGID. If all found, set __libc_enable_secure and + __libc_enable_secure_decided. + + * sysdeps/generic/libc-start.c [!SHARED]: Call + __libc_check_standard_fds after __libc_init_first. + +2003-05-05 Roland McGrath + + * Makerules (common-before-compile): New variable. + ($(common-objpfx)%.make): Depend on that instead of $(before-compile). + ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. Move this rule + to after all setting of before-compile. + +2003-05-05 Jakub Jelinek + + * sysdeps/ia64/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, + __arch_compare_and_exchange_val_16_acq): Cast 0 to mem's type. + * sysdeps/powerpc/powerpc32/bits/atomic.h + (__arch_compare_and_exchange_val_64_acq): Likewise. + * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h + (__arch_compare_and_exchange_val_8_acq, + __arch_compare_and_exchange_val_16_acq, + __arch_compare_and_exchange_val_64_acq): Likewise. + * sysdeps/sparc/sparc64/bits/atomic.h + (__arch_compare_and_exchange_val_8_acq, + __arch_compare_and_exchange_val_16_acq): Likewise. + * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq, + __arch_compare_and_exchange_val_16_acq, + __arch_compare_and_exchange_val_64_acq): Likewise. + * sysdeps/unix/sysv/linux/sh/bits/atomic.h + (__arch_compare_and_exchange_val_64_acq): Likewise. + * sysdeps/s390/s390-64/backtrace.c (__backtrace): Add cast to shut + up warning. + * sysdeps/s390/fpu/fegetenv.c (fegetenv): Likewise. + + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h + (INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0): + Return long instead of int. + (INTERNAL_SYSCALL_ERROR_P): Cast val to unsigned long, replace + 0xfffff001u with -4095UL. + +2003-05-05 Andreas Jaeger + + * sysdeps/x86_64/fpu_control.h: New from i386. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (__NR_semtimedop): + Define if not defined. + + * sunrpc/Makefile (generated-dirs): New variable. + * resolv/Makefile (generated): New variable. + +2003-05-04 Roland McGrath + + * csu/Makefile ($(csu-dummies) target rule): Don't use a temp C file. + Depend on $(before-compile). + + * csu/Makefile ($(objpfx)crt%.o): Replace implicit rule with a static + pattern rule. The implicit rule could be ruled out when $(objpfx) + didn't exist at the time of its consideration (ugh!). + + * Makerules (+make-deps): Fix target matching. + Use $(sed-remove-dotdot). + +2003-05-03 Ulrich Drepper + + * nscd/nscd.c (main): Parse config file right after parsing + parameters. Then, if get_stats is true, call receive_print_stats. + Drop parameter from nscd_init call. + (get_stats): New variable. + (parse_opt): Set get_stats, don't call receive_print_stats here. + * nscd/nscd.h: Declare dbs, stat_user, and stat_uid. Adjust nscd_init + prototype. + * nscd/connections.c (stat_user, stat_uid): New variables. + (dbs): Make global. + (nscd_init): Don't read configuration file here. Drop parameter. + (handle_request): Cleanup handling of non-database lookup requests. + * nscd/nscd_conf.c (nscd_parse_file): Recognize stat-user entry. + Get UID of the specified user. Use xstrdup instead of strdup. + * nscd/nscd_stat.c (receive_print_stats): Check UID. If not zero, + check stat_user. + * nscd/Makefile (nscd-modules): Add xstrdup. + * nscd/nscd.conf: Document stat-user entry. + +2003-05-03 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_semtimedop): Define + if not defined. + +2003-04-22 Roland McGrath + + * elf/elf.h (AT_SYSINFO_EHDR): New macro, replaces AT_SYSINFO_EH_FRAME. + * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove + dl_sysinfo_eh_frame member, add dl_sysinfo_dso member instead. + * elf/dl-support.c: Update defn. + * sysdeps/generic/libc-start.c: Don't call __register_frame_info_bases. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]: + Set GL(dl_sysinfo_dso) from AT_SYSINFO_EHDR. + (_dl_show_auxv): Grok AT_SYSINFO_EHDR, not AT_SYSINFO_EH_FRAME. + * elf/rtld.c (dl_main) [NEED_DL_SYSINFO]: If GL(dl_sysinfo_dso) is + set, set up a link_map for the preloaded, prelinked object. + +2003-05-03 Roland McGrath + + * sysdeps/gnu/Makefile (generated): Append errlist-compat.c here, ... + * stdio-common/Makefile: ... not here. + + * csu/Makefile ($(objpfx)initfini.s): Depend on $(before-compile). + * sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c): Likewise. + +2003-05-02 Ulrich Drepper + + * sysdeps/unix/sysv/linux/s390/semtimedop.c: New file. + + * sysdeps/unix/sysv/linux/alpha/ipc_priv.h (IPCOP_semtimedop): Define. + + * sysdeps/generic/dl-fptr.c (_dl_make_fptr): Use 0 not NULL for + comparing ftab elements. + (_dl_unmap): Fix typo in test. + (_dl_make_fptr): Fix typos introduced in last change. + + * sysdeps/generic/dl-fptr.c: Put back one optimization from the + original patch. Use non-exported symbols. Mark translatable + strings. Pretty printing. + +2003-05-02 Roland McGrath + + * Makerules (do-stamp): Do $(make-target-directory). + +2003-04-07 H.J. Lu + + * sysdeps/generic/dl-fptr.c: Modify to remove the lock. + +2003-04-03 H.J. Lu + + * sysdeps/ia64/dl-fptr.c: Moved to ... + * sysdeps/generic/dl-fptr.c: Here. + + * sysdeps/generic/dl-fptr.h: New. + * sysdeps/ia64/dl-fptr.h: New. + + * sysdeps/ia64/dl-symaddr.c: Moved to ... + * sysdeps/generic/dl-symaddr.c: here. + + * sysdeps/ia64/dl-machine.h: Include . + (IA64_BOOT_FPTR_TABLE_LEN): Removed. + (ia64_fdesc): Likewise. + (ia64_fdesc_table): Likewise. + (__ia64_make_fptr): Likewise. + (__ia64_init_bootstrap_fdesc_table): Replace __ia64_boot_fptr_table + with _dl_boot_fptr_table. + (elf_machine_runtime_setup): Replace `struct ia64_fdesc' with + `struct fdesc'. + (elf_machine_rela): Replace __ia64_make_fptr with _dl_make_fptr. + +2003-05-01 Roland McGrath + + * sysdeps/generic/bp-thunks.h: Protect includes with [!__ASSEMBLER__]. + * sysdeps/unix/sysv/linux/i386/bp-thunks.h: Likewise. + + * sysdeps/unix/sysv/linux/Makefile ($(objpfx)syscall-%.h): + Use $(make-target-directory). + * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Likewise. + + * Makerules (compile-mkdep-flags): New variable, pass -MD -MF $@.d. + (compile-command.S): Don't use ifndef. Append $(compile-mkdep-flags). + (compile-command.s, compile-command.c): Likewise. + ($(objpfx)%.d): All such pattern rules removed. + ($(+sysdir_pfx)sysd-rules): Don't generate them. + ($(common-objpfx)dummy.d): Target removed. + (make-dummy-dep): Variable removed. + (generate-md5): Likewise. + (%.d: %.dt): New pattern rule. + (+depfiles): Use $(wildcard) function to get just existing *.d files + and .d files for existing *.dt files. + (common-clean): Remove all *.d and *.dt files. + (before-compile): Add $(objpfx). when it doesn't exist, + regardless of $(no_deps). + * elf/rtld-Rules ($(objpfx)rtld-%.d): All such pattern rules removed. + (rtld-depfiles): Use .os.d instead of .d names. + Include existing *.d files and .d files for existing *.dt files. + + * Makerules ($(common-objpfx)%.make): Protect with [! subdir]. + Use -MD, -MT and -MF flags instead of SUNPRO_DEPENDENCIES variable. + + * sysdeps/unix/Makefile ($(common-objpfx)s-%.d): Remove compat.h hack. + Do s-*.d includes only if we have some syscall routines in this subdir. + + * include/libc-symbols.h (libc_freeres_ptr): Use %nobits instead of + @nobits. The former is accepted by gas on any ELF platform. + +2003-05-01 Ulrich Drepper + + * sysdeps/unix/sysv/linux/semtimedop.c: New file. + + * malloc/malloc.c (mSTATs): Call ptmalloc_init if necessary. + +2003-04-29 Andreas Schwab + + * string/test-strcat.c (do_one_test): Fix attribute name. + +2003-04-30 Alexandre Oliva + + * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (ucontext): Make + uc_flags long for all ABIs. + +2003-04-30 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h + (DR_CONTROL_RESERVED): Use correct value for 64-bit. + Reported by Andrew Derrick Balsa . + Add bi-arch support. + +2003-04-30 Ulrich Drepper + + * malloc/malloc.c (mEMALIGn): Define alias __memalign_internal. + (__posix_memalign): Use __memalign_internal instead of memalign. + +2003-04-29 Roland McGrath + + * configure.in: Search for AUTOCONF unconditionally. + Just don't complain about missing it under --without-cvs. + + * include/libc-symbols.h (__symbol_set_attribute): New macro, + give hidden for [SHARED] and weak for [! SHARED]. + (symbol_set_declare): Use that. Never need weak_extern these days. + * Makerules ($(common-objpfx)shlib.lds): Go back to using PROVIDE. + Depend on $(..)Makerules. + +2003-04-29 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Use __ protected + variants of socket, bind, recvmsg, and sendto. + + * sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word. + + * include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset. + * signal/sigaddset.c: Add libc_hidden_def. + * signal/sigdelset.c: Likewise. + +2003-04-29 Jakub Jelinek + + * sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move + to the end of the file. + + * configure.in: Change __oline__ to $LINENO. + (HAVE_BUILTIN_REDIRECTION): New check. + * config.h.in (HAVE_BUILTIN_REDIRECTION): Add. + * include/libc-symbols.h (libc_hidden_builtin_proto, + libc_hidden_builtin_def, libc_hidden_builtin_weak, + libc_hidden_builtin_ver): Define. + * include/string.h (memchr, memcpy, memmove, memset, strcat, strchr, + strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr, + strspn, strstr): Add libc_hidden_builtin_proto. + * intl/plural.y: Include string.h. + * sysdeps/alpha/alphaev6/memchr.S (memchr): Add + libc_hidden_builtin_def. + * sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise. + * sysdeps/alpha/alphaev6/memset.S (memset): Likewise. + * sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise. + * sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise. + * sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise. + * sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise. + * sysdeps/alpha/memchr.S (memchr): Likewise. + * sysdeps/alpha/memset.S (memset): Likewise. + * sysdeps/alpha/strcat.S (strcat): Likewise. + * sysdeps/alpha/strchr.S (strchr): Likewise. + * sysdeps/alpha/strcmp.S (strcmp): Likewise. + * sysdeps/alpha/strcpy.S (strcpy): Likewise. + * sysdeps/alpha/strlen.S (strlen): Likewise. + * sysdeps/alpha/strncmp.S (strncmp): Likewise. + * sysdeps/alpha/strncpy.S (strncpy): Likewise. + * sysdeps/alpha/strrchr.S (strrchr): Likewise. + * sysdeps/arm/memset.S (memset): Likewise. + * sysdeps/arm/strlen.S (strlen): Likewise. + * sysdeps/generic/memchr.c (memchr): Likewise. + * sysdeps/generic/memcpy.c (memcpy): Likewise. + * sysdeps/generic/memmove.c (memmove): Likewise. + * sysdeps/generic/memset.c (memset): Likewise. + * sysdeps/generic/strcat.c (strcat): Likewise. + * sysdeps/generic/strchr.c (strchr): Likewise. + * sysdeps/generic/strcmp.c (strcmp): Likewise. + * sysdeps/generic/strcpy.c (strcpy): Likewise. + * sysdeps/generic/strcspn.c (strcspn): Likewise. + * sysdeps/generic/strlen.c (strlen): Likewise. + * sysdeps/generic/strncmp.c (strncmp): Likewise. + * sysdeps/generic/strncpy.c (strncpy): Likewise. + * sysdeps/generic/strpbrk.c (strpbrk): Likewise. + * sysdeps/generic/strrchr.c (strrchr): Likewise. + * sysdeps/generic/strspn.c (strspn): Likewise. + * sysdeps/generic/strstr.c (strstr): Likewise. + * sysdeps/i386/i486/strcat.S (strcat): Likewise. + * sysdeps/i386/i486/strlen.S (strlen): Likewise. + * sysdeps/i386/i586/memcpy.S (memcpy): Likewise. + * sysdeps/i386/i586/memset.S (memset): Likewise. + * sysdeps/i386/i586/strchr.S (strchr): Likewise. + * sysdeps/i386/i586/strcpy.S (strcpy): Likewise. + * sysdeps/i386/i586/strlen.S (strlen): Likewise. + * sysdeps/i386/i686/memcpy.S (memcpy): Likewise. + * sysdeps/i386/i686/memmove.S (memmove): Likewise. + * sysdeps/i386/i686/memset.S (memset): Likewise. + * sysdeps/i386/i686/strcmp.S (strcmp): Likewise. + * sysdeps/i386/memchr.S (memchr): Likewise. + * sysdeps/i386/memset.c (memset): Likewise. + * sysdeps/i386/strchr.S (strchr): Likewise. + * sysdeps/i386/strcspn.S (strcspn): Likewise. + * sysdeps/i386/strlen.c (strlen): Likewise. + * sysdeps/i386/strpbrk.S (strpbrk): Likewise. + * sysdeps/i386/strrchr.S (strrchr): Likewise. + * sysdeps/i386/strspn.S (strspn): Likewise. + * sysdeps/ia64/memchr.S (memchr): Likewise. + * sysdeps/ia64/memcpy.S (memcpy): Likewise. + * sysdeps/ia64/memmove.S (memmove): Likewise. + * sysdeps/ia64/memset.S (memset): Likewise. + * sysdeps/ia64/strcat.S (strcat): Likewise. + * sysdeps/ia64/strchr.S (strchr): Likewise. + * sysdeps/ia64/strcmp.S (strcmp): Likewise. + * sysdeps/ia64/strcpy.S (strcpy): Likewise. + * sysdeps/ia64/strlen.S (strlen): Likewise. + * sysdeps/ia64/strncmp.S (strncmp): Likewise. + * sysdeps/ia64/strncpy.S (strncpy): Likewise. + * sysdeps/m68k/memchr.S (memchr): Likewise. + * sysdeps/m68k/strchr.S (strchr): Likewise. + * sysdeps/mips/mips64/memcpy.S (memcpy): Likewise. + * sysdeps/mips/mips64/memset.S (memset): Likewise. + * sysdeps/mips/memcpy.S (memcpy): Likewise. + * sysdeps/mips/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc32/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise. + * sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise. + * sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise. + * sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise. + * sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise. + * sysdeps/powerpc/powerpc64/memset.S (memset): Likewise. + * sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise. + * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise. + * sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise. + * sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise. + * sysdeps/powerpc/strcat.c (strcat): Likewise. + * sysdeps/sparc/sparc32/memchr.S (memchr): Likewise. + * sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise. + * sysdeps/sparc/sparc32/memset.S (memset): Likewise. + * sysdeps/sparc/sparc32/strcat.S (strcat): Likewise. + * sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise. + * sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise. + * sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise. + * sysdeps/sparc/sparc32/strlen.S (strlen): Likewise. + * sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise. + * sysdeps/sparc/sparc64/memchr.S (memchr): Likewise. + * sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise. + * sysdeps/sparc/sparc64/memset.S (memset): Likewise. + * sysdeps/sparc/sparc64/strcat.S (strcat): Likewise. + * sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise. + * sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise. + * sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise. + * sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise. + * sysdeps/sparc/sparc64/strlen.S (strlen): Likewise. + * sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise. + * sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise. + * sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise. + * sysdeps/sparc/sparc64/strspn.S (strspn): Likewise. + * sysdeps/sh/memcpy.S (memcpy): Likewise. + * sysdeps/sh/memset.S (memset): Likewise. + * sysdeps/sh/strlen.S (strlen): Likewise. + * sysdeps/s390/s390-32/memchr.S (memchr): Likewise. + * sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise. + * sysdeps/s390/s390-32/memset.S (memset): Likewise. + * sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise. + * sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise. + * sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise. + * sysdeps/s390/s390-64/memchr.S (memchr): Likewise. + * sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise. + * sysdeps/s390/s390-64/memset.S (memset): Likewise. + * sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise. + * sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise. + * sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise. + * sysdeps/x86_64/memcpy.S (memcpy): Likewise. + * sysdeps/x86_64/memset.S (memset): Likewise. + * sysdeps/x86_64/strcat.S (strcat): Likewise. + * sysdeps/x86_64/strchr.S (strchr): Likewise. + * sysdeps/x86_64/strcmp.S (strcmp): Likewise. + * sysdeps/x86_64/strcpy.S (strcpy): Likewise. + * sysdeps/x86_64/strcspn.S (strcspn): Likewise. + * sysdeps/x86_64/strlen.S (strlen): Likewise. + * sysdeps/x86_64/strspn.S (strspn): Likewise. + * string/string-inlines.c: Move... + * sysdeps/generic/string-inlines.c: ...here. + (__memcpy_g, __strchr_g): Remove. + (__NO_INLINE__): Define before including , + undefine after. Include bits/string.h and bits/string2.h. + * sysdeps/i386/i486/string-inlines.c: New file. + * sysdeps/i386/string-inlines.c: New file. + * sysdeps/i386/i486/Versions: Remove. + All GLIBC_2.1.1 symbols moved... + * sysdeps/i386/Versions (libc): ...here. + +2003-04-29 Ulrich Drepper + + * sysdeps/i386/fpu/Makefile: New file. + * sysdeps/i386/fpu/fedisblxcpt.c: Also set SSE control word. + * sysdeps/i386/fpu/feenablxcpt.c: Likewise. + * sysdeps/i386/fpu/feholdexcpt.c: Likewise. + * sysdeps/i386/fpu/fesetround.c: Also set SSE rounding mode + [PR libc/4987]. + +2003-04-28 Ulrich Drepper + + * nscd/nscd_getgr_r.c: Compact code a bit. Add some __builtin_expect. + * nscd/nscd_getpw_r.c: Likewise. + * nscd/nscd_gethst_r.c: Likewise. + +2003-04-27 Ulrich Drepper + + * nscd/pwdcache.c: Initialize .version element in result. + * nscd/grpcache.c: Likewise. + * nscd/pwdcache.c: Likewise. + +2003-04-27 Andreas Schwab + + * Makeconfig ($(common-objpfx)sysd-sorted): Fix for running in + subdirectory. + +2003-04-27 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/semtimedop.S: New file. + +2003-04-27 Ulrich Drepper + + * nscd/connections.c (client_queued): New variable. + (nscd_run): Revamp the loop. Don't call poll except for cleanup + threads. Keep track of the number of delays caused because of busy + worker threads. + * nscd/nscd.h: Declare client_queued. + * nscd/nscd_stat.c: Transmit and print client_queued information. + + * locale/programs/locale.c (show_info): Use '\177' instead of CHAR_MAX. + + * Makerules ($(common-objpfx)shlib.lds): Don't use PROVIDE to + define __start_libc_freeres_ptrs and __stop___libc_freeres_ptrs. + +2003-04-26 Ulrich Drepper + + * elf/dl-close.c [USE_TLS && TLS_TCB_AT_TP] (_dl_close): Reimplement + tracking of freed memory in static TLS block. + * elf/Makefile: Add rules to build and run tst-tls13. + * elf/tst-tls13.c: New file. + * elf/tst-tlsmod13.c: New file. + * elf/tst-tlsmod13a.c: New file. + + * elf/tst-tls8.c: Adjust types of variables to avoid warnings. + + * elf/dl-reloc.c: Pretty printing. + +2003-04-26 Roland McGrath + + * Makerules ($(common-objpfx)shlib.lds): New target. + (common-generated): Add it. + (build-shlib, build-module): Use that instead of generating every time. + ($(common-objpfx)libc.so): Depend on it. + (lib%.so rule): Likewise. + (build-module-helper-objlist): Remove %.lds. + (LDSEDCMD-c.so): Variable removed. + * iconvdata/extra-module.mk ($(objpfx)$(mod).so): + Depend on $(common-objpfx)shlib.lds. + * dlfcn/Makefile ($(test-modules)): Likewise. + +2003-04-26 Roland McGrath + + * sysdeps/mach/hurd/tmpfile.c: Remove USE_IN_LIBIO conditionals. + +2003-04-26 Andreas Schwab + + * elf/dl-close.c (remove_slotinfo): Fix missing parens. + +2003-04-25 Ulrich Drepper + + * nscd/cache.c (cache_search): Keep track of how many chain links + we searched and update table statistics. + (cache_add): Keep track of how many values are in the table. + (prune_cache): Likewise. Keep track of locking success. + Print messages about removed entries in separate pass. + * nscd/connections.c (handle_request): Don't print debug message here. + The caller will do it. Keep track of locking success. + (nscd_run): Print debug message. Also print PID of the client process. + * nscd/nscd.c (start_time): New variable. + (main): Remember start time. + * nscd/nscd.h: Declare start_time. + (struct database): Add more members for new statistics. + * nscd/nscd_stat.c: Add support for sending, receiving, and printing + of new statistics. + + * sysdeps/posix/getaddrinfo.c: Include . + +2003-04-22 Jakub Jelinek + + * include/link.h (NO_TLS_OFFSET): Define to 0 if not defined. + * elf/dl-close.c (_dl_close): Use NO_TLS_OFFSET. + * elf/dl-object.c (_dl_new_object): Initialize l_tls_offset to + NO_TLS_OFFSET. + * elf/rtld.c (_dl_start_final, _dl_start): Likewise. + * elf/dl-reloc.c (CHECK_STATIC_TLS): Use NO_TLS_OFFSET. + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Likewise. + * sysdeps/powerpc/dl-tls.h (TLS_TPREL_VALUE): Don't subtract + TLS_TCB_SIZE. + +2003-04-24 Ulrich Drepper + + * nss/getent.c: Implement alternative host database lookup via + getaddrinfo. + + * include/ifaddrs.h: New file. + * include/netdb.h: Move definitions of AI_V4MAPPED, AI_ALL, and + AI_ADDRCONFIG... + * resolv/netdb.h: ...here. + * sysdeps/gnu/ifaddrs.c. Use libc_hidden_def where appropriate. + * sysdeps/unix/sysv/linux/ifaddrs.c: Likewise. + * sysdeps/posix/getaddrinfo.c: Implement AI_V4MAPPED, AI_ALL, and + AI_ADDRCONFIG. + +2003-04-24 Roland McGrath + + * elf/dl-reloc.c (_dl_allocate_static_tls): Add internal_function. + +2003-04-24 Jakub Jelinek + + * elf/dl-reloc.c (allocate_static_tls): Rename to... + (_dl_allocate_static_tls): ... this function. No longer static. + (CHECK_STATIC_TLS): Adjust. + * sysdeps/generic/ldsodefs.h (_dl_allocate_static_tls): New prototype. + * sysdeps/powerpc/powerpc32/dl-machine.h (__process_machine_rela): + Add SYM_MAP argument. + (elf_machine_rela): Adjust caller. Declare SYM_MAP unconditionally. + Check if SYM_MAP != NULL for R_PPC_DTPREL32. Only handle 32-bit + TLS relocs here. #ifdef out relocs which never appear in + .gnu.conflict section from dl-conflict.c processing. + * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): + Add SYM_MAP argument. Handle 16-bit TLS relocs here. + + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): #ifdef + out relocs which never appear in .gnu.conflict section from + dl-conflict.c processing. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/i386/dl-machine.h (elf_machine_rela): Likewise. + Use r_type in RESOLVE macro. + +2003-04-23 Ulrich Drepper + + * nis/ypclnt.c (__yp_bind): Expect YPDB parameter to always be != + NULL. Remove code made redundant by this assumption. + (__yp_unbind): Add call to free. Adjust all callers. + + * nis/ypclnt.c (yp_all): Free the dom_binding object after + unbinding it. + + * grp/initgroups.c (getgrouplist): Don't copy too much into the + user buffer if more groups are found than fit into it. + + * nis/nss_nis/nis-initgroups.c (_nss_nis_initgroups_dyn): Use + extend_alloca. + +2003-04-23 Jakub Jelinek + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Check for rc == ERANGE, + not rc == errno. Use extend_alloca. + + * elf/tst-tls12.c (main): Fix declaration. + * elf/tst-tls10.c (dummy): Make hidden instead of static. + * elf/tst-tlsmod7.c (dummy): Likewise. + * elf/tst-tlsmod8.c (dummy): Likewise. + * elf/tst-tlsmod9.c (dummy): Likewise. + +2003-04-22 Roland McGrath + + * sysdeps/unix/sysv/linux/not-cancel.h: Put parens around macro args. + (open_not_cancel): Make last argument non-optional. + * sysdeps/generic/check_fds.c (check_one_fd): Update caller. + * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise. + * iconv/gconv_cache.c (__gconv_load_cache): Likewise. + + * include/tls.h: Protect against multiple inclusion. + +2003-04-22 Ulrich Drepper + + * nscd/nscd-client.h: Add declaration for __nscd_open_socket. + * nscd/nscd_gethst_r.c (__nscd_open_socket): Renamed from + open_socket. Not static anymore. + (nscd_gethst_r): Use __nscd_open_socket. + * nscd/nscd_getgr_r.c (open_socket): Removed. + (nscd_getgr_r): Use __nscd_open_socket. + * nscd/nscd_getpw_r.c (open_socket): Removed. + (nscd_getpw_r): Use __nscd_open_socket. + + * nscd/nscd.c (main): Change type of fdn to long int and use strtol. + * nscd/connections.c (handle_request): Add cast to avoid warning. + +2003-04-21 Ulrich Drepper + + * signal/sigfillset.c: Moved to... + * sysdeps/generic/sigfillset.c: ...here. If SIGCANCEL is defined + do not set the corresponding bit. + + * sysdeps/unix/sysv/linux/sigprocmask.c: Prevent changing mask for + SIGCANCEL. + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Define SI_TKILL. + * sysdeps/unix/sysv/linux/bits/siginfo.h: Define SI_TKILL. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Define SI_TKILL. + * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Define SI_TKILL. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Define SI_TKILL. + +2003-04-20 Ulrich Drepper + + * sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Cast + first syscall parameter to const char*. + +2003-04-19 Ulrich Drepper + + * intl/Makefile ($(objpfx)msgs.h): Use C locale for sed run. + + * configure.in: Add AC_PROG_CXX. + * config.make.in (CXX): Define. + + * sysdeps/i386/i686/hp-timing.h (HP_TIMING_PRINT): Change type of + __len to size_t to avoid warnings. + +2003-04-18 Jes Sorensen + + * libc/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Sync with Linux + 2.5.67. + * libc/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. + +2003-04-19 Ulrich Drepper + + * stdlib/cxa_finalize.c (__cxa_finalize): Don't call + UNREGISTER_ATFORK if d == NULL. + + * catgets/nl_types.h: Remove __THROW marker from cancellation points. + * dirent/dirent.h: Likewise. + * dlfcn/dlfcn.h: Likewise. + * grp/grp.h: Likewise. + * iconv/iconv.h: Likewise. + * io/fcntl.h: Likewise. + * io/ftw.h: Likewise. + * libio/stdio.h: Likewise. + * misc/sys/mman.h: Likewise. + * misc/sys/select.h: Likewise. + * misc/sys/syslog.h: Likewise. + * misc/sys/uio.h: Likewise. + * posix/spawn.h: Likewise. + * posix/unistd.h: Likewise. + * posix/sys/wait.h: Likewise. + * pwd/pwd.h: Likewise. + * resolv/netdb.h: Likewise. + * rt/aio.h: Likewise. + * shadow/shadow.h: Likewise. + * signal/signal.h: Likewise. + * socket/sys/socket.h: Likewise. + * stdlib/stdlib.h: Likewise. + * streams/stropts.h: Likewise. + * string/string.h: Likewise. + * sysdeps/gnu/utmpx.h: Likewise. + * sysvipc/sys/msg.h: Likewise. + * termios/termios.h: Likewise. + * time/time.h: Likewise. + * wcsmbs/wchar.h: Likewise. + * iconv/gconv_cache.c: Include and use non-cancelable + functions. + * misc/daemon.c: Likewise. + * sysdeps/generic/backtracesymsfd.c: Likewise. + * sysdeps/generic/check_fds.c: Likewise. + * sysdeps/unix/sysv/linux/gethostid.c: Likewise. + * sysdeps/unix/sysv/linux/not-cancel.h: New file. + * sysdeps/generic/not-cancel.h: New file. + * csu/Makefile (distribute): Add not-cancel.h. + * sysdeps/unix/sysv/linux/fatal-prepare.h: New file. + * sysdeps/unix/sysv/linux/Makefile: Define FATAL_PREPARE_INCLUDE + for assert.c and assert-perr.c to include . + * sysdeps/unix/sysv/linux/Dist: Add fatal-prepare.h. + + * sysdeps/posix/remove.c (remove): Rewrite. No need to restore + errno and unlink first. + + * io/ftw.c (ftw_dir): In all places assume fchdir is available. + +2003-04-18 Ulrich Drepper + + * sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Use + INTERNAL_SYSCALL instead of INLINE_SYSCALL. + +2003-04-17 Ulrich Drepper + + * sysdeps/unix/sysv/linux/Makefile: Remove db2 directory handling. + + * malloc/Makefile (CFLAGS-malloc.c): Define DEFAULT_TOP_PAD to 128k. + * sysdeps/unix/sysv/linux/Makefile (CFLAGS-malloc.c): Add to, not + replace. + + * signal/Makefile (tests): Add tst-sigsimple. + * signal/tst-sigsimple.c: New file. + +2003-04-16 Jakub Jelinek + + * elf/Makefile (distribute): Add tst-tlsmod{[7-9],1[0-2]}.c and + tst-tls10.h. + (tests): Add tst-tls1[0-2]. + (modules-names): Add tst-tlsmod{[7-8],1[0-2]}. + ($(objpfx)tst-tlsmod8.so): Depend on tst-tlsmod7.so. + ($(objpfx)tst-tlsmod10.so): Depend on tst-tlsmod9.so. + ($(objpfx)tst-tlsmod12.so): Depend on tst-tlsmod11.so. + ($(objpfx)tst-tls10): Depend on tst-tlsmod8.so. + ($(objpfx)tst-tls11): Depend on tst-tlsmod10.so. + ($(objpfx)tst-tls12): Depend on tst-tlsmod12.so. + * elf/tst-tls10.c: New test. + * elf/tst-tls11.c: New test. + * elf/tst-tls12.c: New test. + * elf/tst-tls10.h: New file. + * elf/tst-tlsmod7.c: New file. + * elf/tst-tlsmod8.c: New file. + * elf/tst-tlsmod9.c: New file. + * elf/tst-tlsmod10.c: New file. + * elf/tst-tlsmod11.c: New file. + * elf/tst-tlsmod12.c: New file. + +2003-04-15 Steven Munroe + + * sysdeps/powerpc/bits/atomic.h: Moved ppc32/64 specific code to ... + * sysdeps/powerpc/powerpc32/bits/atomic.h: New file. + * sysdeps/powerpc/powerpc64/bits/atomic.h: New file. + +2003-04-17 Ulrich Drepper + + * posix/regex.h: Include . + + * signal/sigrelse.c (sigrelse): Use sigdelset and not __sigdelset. + The signal number must be checked. + * signal/sighold.c (sighold): Use sigaddset and not __sigaddset. + The signal number must be checked [PR libc/5004]. + + * sysdeps/unix/sysv/linux/system.c: If compiled without threads + don't do anything fancy. + + * sysdeps/generic/bits/libc-lock.h: Define + __rtld_lock_define_initialized_recursive. + + * nss/getXXbyYY_r.c [USE_NSCD] (REENTRANT_NAME): Only retry + contacting nscd if NOT_USENSCD_NAME > 0. + * nss/nsswitch.c (__nss_disable_nscd): New function. + * nss/nsswitch.h: Declare it. + * nss/Versions [GLIBC_PRIVATE]: Export __nss_disable_nscd. + * nscd/nscd.c (main): Call __nss_disable_nscd. + +2003-04-16 Ulrich Drepper + + * stdio-common/perror.c (perror): We don't need to set the offset + to _IO_pos_bad, this is how streams are initialized. + + * locale/programs/ld-time.c (TESTARR_ELEM): Make i unsigned. + (time_output): If necessary, allocate new buffer for .name string if + padding is required. + + * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Check lengths + before copying. This might leave holes in the list. Adjust + pointers if necessary. + (netlink_receive): Allocate only one block. + (free_netlink_handle): Adjust appropriately. + (getifaddrs): Lots of cleanups. + + * string/test-strncpy.c (do_one_test): Mark start and stop as + possibly unused. + * string/test-memchr.c: Likewise. + * string/test-memcmp.c: Likewise. + * string/test-memcpy.c: Likewise. + * string/test-memmove.c: Likewise. + * string/test-memset.c: Likewise. + * string/test-strcat.c: Likewise. + * string/test-strchr.c: Likewise. + * string/test-strcmp.c: Likewise. + * string/test-strcpy.c: Likewise. + * string/test-strlen.c: Likewise. + * string/test-strncmp.c: Likewise. + * string/test-strpbrk.c: Likewise. + * string/test-strrchr.c: Likewise. + * string/test-strspn.c: Likewise. + +2003-04-15 Roland McGrath + + * libio/fileops.c (_IO_file_close_it): Macro tweak to avoid warning. + + * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO]: Add decl for + INTUSE(__register_frame_info_bases). + +2003-04-15 Ulrich Drepper + + * elf/elf.h: Define AT_SYSINFO_EH_FRAME. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle + AT_SYSINFO_EH_FRAME. Adjust string width. + (_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value. + * sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global): + Add _dl_sysinfo_eh_frame field. + * elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame. + * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj + variable. + [NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases + if _dl_sysinfo_eh_frame is non-NULL. + + * Makeconfig (gnulib): Add -lgcc_eh. + + * config.h.in: Define HAVE_FORCED_UNWIND. + +2003-04-15 Steven Munroe + + * sysdeps/powerpc/powerpc64/strcmp.S: Convert to full 64-bit. + * sysdeps/powerpc/powerpc64/strcpy.S: Likewise. + +2003-04-15 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Avoid + checking R_PPC_RELATIVE, R_PPC_NONE and whether relocation is + against local symbol in conflict processing. + +2003-04-15 Steven Munroe + + * sysdeps/powerpc/bits/atomic.h + [__powerpc64] (__arch_compare_and_exchange_val_64_acq): Define. + [! __powerpc64] (__arch_compare_and_exchange_val_64_acq): Defined + as abort stub. + (__arch_compare_and_exchange_val_32_acq): Define. + (atomic_compare_and_exchange_val_acq): Define. + +2003-04-15 Ulrich Drepper + + * include/atomic.h: Pretty printing. + +2003-04-14 Ulrich Drepper + + * stdio-common/vfscanf.c: Add casts to avoid warnings. + +2003-04-14 Jakub Jelinek + + * sysdeps/i386/i486/bits/atomic.h: Rename LOCK to LOCK_PREFIX. + * sysdeps/x86_64/bits/atomic.h: Likewise. + +2003-04-14 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Change PUSHARGS_1 and + POPARGS_1 to emit labels for the mov instructions. + +2003-04-14 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (ret_NOERRNO): Define. + +2003-04-14 Roland McGrath + + * sysdeps/generic/unwind-dw2.c (_Unwind_GetCFA): Add a cast to silence + compiler warning. + + * sysdeps/generic/unwind-pe.h: Fix decl hacks broken in merge. + +2003-04-14 Ulrich Drepper + + * string/strxfrm.c (STRXFRM): Terminate rulearr at correct + position. Reported by jreiser@BitWagon.com. + +2003-04-13 Ulrich Drepper + + * sysdeps/generic/unwind-dw2-fde.c: Update from recent gcc version. + * sysdeps/generic/unwind-dw2-fde.h: Likewise. + * sysdeps/generic/unwind-dw2.c: Likewise. + * sysdeps/generic/unwind-pe.h: Likewise. + +2003-04-13 Alexandre Oliva + + * sysdeps/unix/sysv/linux/mips/profil-counter: New. + * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Port to n32/n64. + * sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: New. + * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Port to n32/n64. + (mcontext_t): Make it match the 32-bit mips kernel in o32. + * sysdeps/unix/sysv/linux/mips/sys/user.h: Bring in constants from + the mips and mips64 headers. + (struct user): Port to n32/n64. + +2003-04-12 Ulrich Drepper + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add cast to + avoid warning. + + * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): If + __ASSUME_VSYSCALL is defined don't add restorer. + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_VSYSCALL for 2.5.53. + +2003-04-11 Ulrich Drepper + + * sysdeps/generic/libc-start.c: Cleanup MAIN_AUXVEC_ARG handling. + Remove HAVE_CANCELBUF code. Replace with code using the new + initializers for unwind-based cleanup handling. + * sysdeps/generic/unwind.h: Update from latest gcc version. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Define labels in a few + places to allow unwind data generation. + * sysdeps/i386/bits/setjmp.h: Allow file to be included multiple times. + * sysdeps/x86_64/bits/setjmp.h: Likewise. + * sysdeps/sh/bits/setjmp.h: Likewise. + * sysdeps/powerpc/bits/setjmp.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise. + * sysdeps/alpha/bits/setjmp.h: Likewise. + +2003-04-11 Roland McGrath + + * csu/tst-empty.c: New file. + * csu/Makefile (tests, tests-static): Add it. + +2003-04-11 Jakub Jelinek + + * string/test-strcmp.c (do_random_tests): Test whether return value + has been promoted to wordsize if the ABI requires caller to do so. + * string/test-strncmp.c (do_random_tests): Likewise. + * string/test-memcmp.c (do_random_tests): Likewise. + + * sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Sign extend rRTN + before returning. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c + (__fe_nomask_env): Try prctl even if __ASSUME_NEW_PRCTL_SYSCALL + is not defined, but the prctl constants are. + + * string/tester.c (test_strcmp): Fix a typo. + +2003-04-09 Ulrich Drepper + + * sysdeps/alpha/fpu/bits/mathdef.h: Remove FLT_EVAL_METHOD definition. + * sysdeps/powerpc/fpu/bits/mathdef.h: Likewise. + +2003-04-08 Alexandre Oliva + + * sysdeps/mips/sys/regdef.h (t4,t5,t6,t7): Renamed to t0..t3 on + NewABI. + (ta0, ta1, ta2, ta3): Defined to t4..t7 on o32, and a4..a7 on + NewABI. + * sysdeps/mips/mips64/memcpy.S: Adjust register naming + conventions. + * sysdeps/mips/mips64/memset.S: Likewise. + * sysdeps/unix/mips/sysdep.S (__syscall_error) [_LIBC_REENTRANT]: + Use t0 instead of t4 as temporary. + +2003-04-07 Ulrich Drepper + + * elf/ldconfig.c (parse_conf): Ignore leading whitespace. Use + feof_unlocked instead of feof. + (add_dir): Ignore trailing whitespace. + +2003-04-07 Jakub Jelinek + + * posix/bug-regex4.c (main): Cap RANGE and STOP arguments to + sum of SIZE1 and SIZE2 arguments. + +2003-04-06 Ulrich Drepper + + * iconv/iconv_prog.c (process_block): Don't print message about + invalid input if the -c option is used. + (main): Correctly append IGNORE string for -c option. + +2003-04-06 Kaz Kojima + + * sysdeps/sh/bits/atomic.h: Moved to ... + * sysdeps/unix/sysv/linux/sh/bits/atomic.h: ... here. Add comments. + (__arch_compare_and_exchange_val_*_acq): Add parens around macro + arguments. + (atomic_bit_set, atomic_bit_test_set): Likewise. + (atomic_exchange_and_add): Likewise. Don't evaluate VALUE argument + twice. + (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. + +2003-04-06 Roland McGrath + + * sysdeps/unix/sysv/linux/i386/swapcontext.S: Rewrite register + restoration as done for setcontext yesterday. + +2003-04-06 Jakub Jelinek + + * elf/rtld.c: Revert 2003-03-14 change. + * elf/dl-conflict.c (_dl_resolve_conflicts): Move + #if ! ELF_MACHINE_NO_RELA conditional into the routine. + +2003-04-05 Ulrich Drepper + + * sunrpc/xdr.c (xdr_string): Catch nodesize == 0 [PR libc/4999]. + + * sysdeps/ieee754/ldbl-96/e_gammal_r.c (__ieee754_gammal_r): + Always initialize *signgamp before returning an error. + +2003-04-05 Roland McGrath + + * sysdeps/unix/sysv/linux/i386/setcontext.S: Rewrite to avoid writing + below the stack pointer even if switching to the same context we are + running right now. + +2003-04-05 Ulrich Drepper + + * catgets/gencat.c (read_input_file): Make sure that \n is not + alone on the line before testing for continuation. + + * math/test-tgmath.c (compile_test): Initialize c. + +2003-04-05 Alexandre Oliva + + * sysdeps/unix/sysv/linux/mips/mips64/n32/ftruncate64.c: New. + * sysdeps/unix/sysv/linux/mips/mips64/n32/truncate64.c: New. + * sysdeps/unix/sysv/linux/kernel-features.h: fcntl64 is available + on mips n32. + * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Explain why + XSTAT_IS_XSTAT64 must not be used for mips n64. Use 64-bit data + structure on n32 as well. + * sysdeps/unix/sysv/linux/mips/bits/stat.h: Use POSIX-compliant + data types on n32 and n64. + +2003-04-05 Ulrich Drepper + + * libio/fileops.c (_IO_new_file_fopen): Don't free step data right + after getting them. + + * malloc/thread-m.h [PTHREAD_MUTEX_INITIALIZER]: If + HAVE_register_atfork_malloc is defined use __register_atfork_malloc + instead of __register_atfork. + +2003-04-05 Jakub Jelinek + + * stdio-common/reg-printf.c (__register_printf_function): Calloc + instead of malloc __printf_arginfo_table and __printf_function_table. + Reported by John Reiser . + +2003-04-04 Steven Munroe + + * sysdeps/powerpc/powerpc64/strchr.S: 64-bit optimizations. + * sysdeps/powerpc/powerpc64/strlen.S: 64-bit optimizations. + + * sysdeps/powerpc/fpu/bits/mathdef.h (FLT_EVAL_METHOD): Undef before + defining. + +2003-04-04 Alexandre Oliva + + * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (struct flock): Adjust + for n64 abi. + +2003-04-03 Roland McGrath + + * configure.in: Fix up use of compilation flags to match the build: + For .s files, $ASFLAGS; + For .S files, $CPPFLAGS $ASFLAGS; + For .c files, $CFLAGS $CPPFLAGS; + when linking, add $LDFLAGS. + * configure: Regenerated. + +2003-04-03 Jakub Jelinek + + * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Reverse test + for atomic_compare_and_exchange_bool_acq failure. + +2003-04-03 Ulrich Drepper + + * posix/unistd.h: Define _POSIX_VERSION, _POSIX2_VERSION, + _POSIX2_C_BIND, _POSIX2_C_DEV, _POSIX2_SW_DEV, and + _POSXI2_LOCALEDEF to 200112L. Remove _POSIX2_C_VERSION. + Remove declaration of pthread_atfork. + +2003-04-02 Ulrich Drepper + + * locale/iso-639.def: Add many more languages from the current ISO 639. + + * sysdeps/unix/sysv/linux/ipc_priv.h: Define IPCOP_semtimedop. + * sysdeps/generic/semtimedop.c: New file. + * sysdeps/unix/sysv/linux/i386/semtimedop.S: New file. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add semtimedop. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysvipc/Makefile (routines): Add semtimedop. + * sysvipc/Versions [GLIBC_2.3.3] (glibc): Add semtimedop. + * sysvipc/sys/sem.h: Declare semtimedop. + +2003-04-02 Daniel Jacobowitz + + * configure.in: Check for __register_frame_info in both + -lgcc and -lgcc_eh. + * configure: Regenerated. + +2003-04-01 Roland McGrath + + * scripts/abilist.awk: Allow dots in soname suffix. + + * scripts/abilist.awk (emit): Fix bailout condition. + +2003-04-01 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: Use the + IA-64 version. + + * elf/tls-macros.h [__ia64__] (TLS_IE, TLS_LD, TLS_GD): Add gp + register as input to asm. + +2003-04-01 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (sigevent_t): Fix a typo. + +2003-04-01 Andreas Jaeger + + * configure.in: Output as/ld as name if version is too old. + +2003-03-31 Daniel Jacobowitz + + * configure.in: Don't require an installed C library in the test + for ".set" assembler support. + +2003-03-31 Roland McGrath + + * signal/tst-sigset.c: New file. + * signal/Makefile (tests): Add it. + +2003-03-31 Ulrich Drepper + + * sysdeps/unix/sysv/linux/alpha/bits/signum.h (_NSIG): Define to 65. + * sysdeps/unix/sysv/linux/hppa/bits/signum.h (_NSIG): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Likewise. + * sysdeps/unix/sysv/linux/bits/signum.h (_NSIG): Likewise. + (__SIGRTMAX): Adjust accordingly. + * sysdeps/gnu/siglist.c: If OLD2_SIGLIST_SIZE is defined define + second compatibility symbol set. + * sysdeps/unix/sysv/linux/siglist.h (OLD2_SIGLIST_SIZE): Define. + +2003-03-31 Andreas Schwab + + * sysdeps/m68k/m68020/bits/atomic.h (atomic_increment_and_test): + Define. + (atomic_decrement_and_test): Fix test. + +2003-03-31 Jakub Jelinek + + * sysdeps/sparc/sparc32/bits/atomic.h: New file. + * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h: New file. + * sysdeps/sparc/sparc64/bits/atomic.h: New file. + * sysdeps/sparc/sparc32/atomicity.h: Removed. + * sysdeps/sparc/sparc32/sparcv9/atomicity.h: Removed. + * sysdeps/sparc/sparc64/atomicity.h: Removed. + +2003-03-30 Roland McGrath + + * scripts/abilist.awk: Grok .opd foo plus .text .foo as "foo F" alone. + + * intl/po2test.sed: Anchor substitution regexps to fix last change. + +2003-03-29 Paolo Bonzini + + * intl/po2test.sed: Unify the transformations for msgid and msgstr + and remove a useless s/// command. + +2003-03-27 David Mosberger + + * sysdeps/ia64/dl-machine.h (RTLD_START): Wrap ".save rp, r0" + directive into empty .prologue region to ensure that call-chain + is terminated even for the first instruction. + + * sysdeps/ia64/elf/start.S (_start): Use ".save rp, r0" idiom + to terminate call-chain right from the get-go. + + * sysdeps/unix/sysv/linux/ia64/fork.S (fork): Remove unnecessary + stop bit between compare & branch. + +2003-03-29 Ulrich Drepper + + * stdlib/strtod.c (INTERNAL): Recognize first digit after decimal + point correctly [PR libc/4993]. + + * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Avoid + netlink_open calls if netlink is known to not be available. + +2003-03-29 Alexandre Oliva + + * configure.in: Add mips64* support. + * sysdeps/mips/bits/endian.h: Make it bi-endian. + * sysdeps/mips/mipsel/bits/endian.h: Removed. + * sysdeps/mips/mips64/n32/el/bits/endian.h: Removed. + * sysdeps/mips/mips64/n64/el/bits/endian.h: Removed. + * sysdeps/mips/mips32/Makefile (CC): Add -mabi=32. + * sysdeps/mips/mips64/n32/Makefile (CC): Add -mabi=n32. + * sysdeps/mips/mips64/n64/Makefile (CC): Add -mabi=64. + * sysdeps/mips/Implies: Moved wordsize-32 to... + * sysdeps/mips/mips32/Implies: New file. + * sysdeps/unix/mips/sysdep.h (PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, + ret_NOERRNO): New. + (ret, PSEUDO_END): Moved past END. + (PSEUDO): Moved to... + * sysdeps/unix/mips/mips32/sysdep.h: New file. + * sysdeps/unix/mips/mips64/n32/sysdep.h: Removed #undef PSEUDO. + * sysdeps/unix/mips/mips64/n64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.h: Move to... + * sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: New file. + * sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h: New file. + + * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): + Re-introduce ENTRY. + +2003-03-28 Thorsten Kukuk + + * sysdeps/unix/sysv/linux/ifaddrs.c: New file. + * inet/test-ifaddrs.c: Allow AF_PACKET. + * sysdeps/unix/sysv/linux/kernel-features.h: Add + __ASSUME_NETLINK_SUPPORT. + +2003-03-28 Ulrich Drepper + + * elf/vismain.c (do_test): Comment out tests which fail in the moment. + +2003-03-26 H.J. Lu + + * elf/vismod.h (getvarlocal1): Return const char **. + (getvarinmod1): Likewise. + (getvaritcpt1): Likewise. + (getvarlocal2): Likewise. + (getvarinmod2): Likewise. + (getvaritcpt2): Likewise. + (getvaritcpt3): Likewise. + * elf/vismain.c (do_test): Adjusted. + * elf/vismod1.c (getvarlocal1): Return address. + (getvarinmod1): Likewise. + (getvaritcpt1): Likewise. + * elf/vismod2.c (getvarlocal2): Likewise. + (getvarinmod2): Likewise. + (getvaritcpt2): Likewise. + * elf/vismod3.c (getvaritcpt3): Likewise. + +2003-03-28 Roland McGrath + + * elf/vismain.c (do_test): Print both addresses when they don't match. + + * scripts/abilist.awk: If given -v filename_regexp and/or -v + libname_regexp when parsing names, then produce output only + for those matching the given regexps. In combine mode, save all + stanzas for a final sorting by stanza header at the end. + Emit a blank line between stanzas. + + * scripts/abilist.awk: When given -v combine=1, do parse_names and + emit a single output stream with lib name in stanza header lines. + + * scripts/abilist.awk: Emit A for all *ABS* regardless of type. + +2003-03-27 Roland McGrath + + * sysdeps/powerpc/bits/atomic.h [! __powerpc64__] + (__arch_atomic_decrement_if_positive_64): Fix bogus definition. + +2003-03-28 Kaz Kojima + + * sysdeps/sh/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): + Return old value. Make asm output reg constraint earlyclobber. + Renamed from... + (__arch_compare_and_exchange_8_acq): ... this. + (__arch_compare_and_exchange_val_16_acq): + Return old value. Make asm output reg constraint earlyclobber. + Renamed from... + (__arch_compare_and_exchange_16_acq): ... this. + (__arch_compare_and_exchange_val_32_acq): + Return old value. Make asm output reg constraint earlyclobber. + Renamed from... + (__arch_compare_and_exchange_32_acq): ... this. + (__arch_compare_and_exchange_val_64_acq): + Renamed from... + (__arch_compare_and_exchange_64_acq): ... this. + (atomic_exchange_and_add): Use local variables and + __arch_compare_and_exchange_val_64_acq. + (atomic_add): Likewise. + (atomic_add_negative, atomic_add_zero): Use local variables. + +2003-03-28 Alexandre Oliva + + * sysdeps/unix/mips/sysdep.S: Include sys/asm.h. + +2003-03-27 Ulrich Drepper + + * Makefile: Remove libmd5crypt goal. + +2003-03-25 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Restore + special handling of relocations against local symbols. + +2003-03-27 Steven Munroe + + * sysdeps/powerpc/bits/atomic.h + (__arch_compare_and_exchange_bool_32_acq): Move to [!__powerpc64__]. + [__powerpc64__] (__arch_compare_and_exchange_bool_32_acq): + Define PPC64 specific version. + [__powerpc64__] (__arch_compare_and_exchange_bool_64_acq): + Change (mem) constraint to "b". + [__powerpc64__] (__arch_atomic_exchange_and add_64): + Replace addi with add. Change (value) contraint to "r". + Change (mem) constraint to "b". + [__powerpc64__] (__arch_atomic_decrement_if_positive_64): New macro. + (__arch_atomic_exchange_32): Change (mem) constraint to "b". + (__arch_atomic_exchange_and_add_32): Change (mem) constraint to "b". + (__arch_atomic_decrement_if_positive_32): New macro. + (atomic_decrement_if_positive): Use __arch* macros. + +2003-03-27 Jakub Jelinek + + * sysdeps/ia64/fpu/libm-test-ulps: Update. + +2003-03-27 Roland McGrath + + * scripts/rpm2dynsym.sh: New file. + * Makefile (distribute): Add it. + +2003-03-27 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/getcontext.S: Restore caller's + ar.unat before returning. Add missing .mem.offset directives + to ensure file gets assembled without warnings. + * sysdeps/unix/sysv/linux/ia64/setjmp.S: Likewise. + +2003-03-27 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf) <_SC_MONOTONIC_CLOCK>: + Return -1 instead of 0 if clock_getres failed. + +2003-03-27 Roland McGrath + + * scripts/abilist.awk: If variable `parse_names' is set, grok the file + header lines and write out foo.symlist files for each foo.so.NN listed. + + * libio/libioP.h (_IO_wfile_jumps): Remove attribute_hidden. + This symbol is exported, and we don't want to hide it. + Add libc_hidden_proto instead. + (_IO_file_jumps): Add libc_hidden_proto. + * libio/wfileops.c (_IO_wfile_jumps): Add libc_hidden_data_def. + Remove INTVARDEF. + * libio/fileops.c (_IO_file_jumps): Likewise. + * libio/stdfiles.c: Don't use INTUSE on them. + * libio/iofdopen.c (_IO_new_fdopen): Likewise. + * libio/iofopen.c (__fopen_internal): Likewise. + * libio/freopen.c (freopen): Likewise. + * libio/freopen64.c (freopen64): Likewise. + * libio/iovdprintf.c (_IO_vdprintf): Likewise. + + * Makerules (check-abi) [$(enable-check-abi) = warn]: + Ignore exit status from diff. + * configure.in (enable_check_abi): Document possible value "warn". + Change default to no for now. + * configure: Regenerated. + + * sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Emit stub_warning + macro calls and a #include at the end. + * Makerules ($(objpfx)stubs): Tweak sed commands. + + * sysdeps/unix/sysv/linux/syscalls.list: Use - rather than EXTRA in + caller column for *xattr syscalls, since they are in sysdeps/generic. + + * sysdeps/unix/sysv/linux/i386/setfsuid.c: setfsgid -> setfsuid + * sysdeps/unix/sysv/linux/i386/setfsgid.c: setfsuid -> setfsgid + +2003-03-26 Roland McGrath + + * Makerules (check-abi-config): Use /thread instead of /tls when + use-thread and not just use-tls is set. + + * Makerules (update-abi): Put quotes around $(update-abi-config). + + * elf/Makefile (check-abi): Depend on check-abi-ld. + (update-abi): Depend on update-abi-ld. + +2003-03-26 GOTO Masanori + + * sysdeps/unix/sysv/linux/i386/setfsuid.c: Use INTERNAL_SYSCALL and + do not check for errors (unless testing for 32bit variant). + * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. + +2003-03-27 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET_NOERRNO): Use + unconditional mov. Remove nop. + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_VFORK_SYSCALL): Define for kernel 2.4 on arm. + * sysdeps/unix/sysv/linux/arm/vfork.S: Elide compatibility code + when __ASSUME_VFORK_SYSCALL is defined. + * sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise for + __ASSUME_MMAP2_SYSCALL. + * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise for + __ASSUME_REALTIME_SIGNALS. + +2003-03-26 Ulrich Drepper + + * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_COPY): Define to 2 + only if DL_NO_COPY_RELOCS is not defined. + * sysdeps/ia64/dl-lookupcfg.h: Define DL_NO_COPY_RELOCS. + +2003-03-26 Roland McGrath + + * sysdeps/unix/make-syscalls.sh: When an undefined syscall has + SOURCE=-, append its symbol names to make variable unix-stub-syscalls. + * sysdeps/unix/Makefile [$(subdir) = misc] [unix-stub-syscalls] + (sysdep_routines): Add stub-syscalls. + ($(objpfx)stub-syscalls.c): New target. + (generated): Add stub-syscalls.c. + + * tls.make.c: Also define use-tls according to USE_TLS macro. + +2003-03-26 Ulrich Drepper + + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h (struct siginfo): Avoid + no-op padding element. + * sysdeps/unix/sysv/linux/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. + +2003-03-26 GOTO Masanori + + * sysdeps/unix/sysv/linux/i386/getgroups.c: Fix the error + condition check for the return value of getgroups32. + +2003-03-26 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO_NOERRNO): + Fix a typo. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (PSEUDO_NOERRNO, + PSEUDO_END_NOERRNO): Define. + * sysdeps/unix/sysdep.h (PSEUDO_END_NOERRNO): Fix a typo. + Define to PSEUDO_END. + +2003-03-26 Ulrich Drepper + + * abilist/librt.abilist: Add new timer interfaces for 64-bit archs. + +2003-03-25 Jiro SEKIBA + + * iconvdata/euc-tw.c (from_euc_tw): Fix return value of TO_LOOP. + * iconvdata/bug-iconv4.c: New file. + * iconvdata/Makefile (tests): Add bug-iconv4. + +2003-03-25 H.J. Lu + + * elf/dl-lookup.c (_dl_lookup_symbol): Avoid looking up protected + symbols twice. + (_dl_lookup_versioned_symbol): Likewise. + +2003-03-26 Jakub Jelinek + + * csu/tst-atomic.c (do_test): Add some new + atomic_compare_and_exchange_val_acq, atomic_add_zero, + atomic_compare_and_exchange_bool_acq and atomic_add_negative tests. + * include/atomic.h (atomic_add_negative, atomic_add_zero): + Prefix local variable so that it doesn't clash with the one + in atomic_exchange_and_add. + * sysdeps/ia64/bits/atomic.h (atomic_exchange): Fix for long/void * + pointers. + (atomic_exchange_and_add): Implement using __sync_fetch_and_add_?i. + * sysdeps/powerpc/bits/atomic.h (atomic_exchange_and_add): Force + value into register. + * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_64_acq): + Cast newval to long. + * sysdeps/x86_64/bits/atomic.h + (__arch_compare_and_exchange_val_64_acq): Cast newval and oldval to + long. + (atomic_exchange): Cast newvalue to long if sizeof == 8. + (atomic_exchange_and_add): Cast value to long if sizeof == 8. + (atomic_add, atomic_add_negative, atomic_add_zero): Likewise. + (atomic_bit_set): Shift 1L up in all cases to shut up warnings. + +2003-03-21 Martin Schwidefsky + + * sysdeps/s390/s390-32/backtrace.c (__backtrace): Remove high order + bit from backtrace addresses. + +2003-03-21 Andreas Schwab + + * sysdeps/unix/sysv/linux/i386/chown.c: Don't define any versioned + __chown symbols. + +2003-03-25 Roland McGrath + + * config.make.in (enable-check-abi): New variable from configure. + * configure.in (enable_check_abi): New substituted variable, + controlled by --{enable,disable}-check-abi (default yes). + * configure: Regenerated. + * Makerules [$(enable-check-abi) = yes] (tests): Put this condition + on check-abi dependency. + +2003-03-26 Andreas Schwab + + * sysdeps/m68k/m68020/bits/atomic.h: Fix typos. + * include/atomic.h: Likewise. + + * sysdeps/unix/sysv/linux/m68k/sysdep.h: Define ret_NOERRNO. + +2003-03-25 Roland McGrath + + * sysdeps/powerpc/bits/atomic.h (__arch_atomic_exchange_32): New macro. + (__arch_atomic_exchange_64): New macro. + (atomic_exchange): Use them. + (__arch_atomic_exchange_and_add_32): New macro. + (__arch_atomic_exchange_and_add_64): New macro. + (atomic_exchange_and_add): Use them. + Original patch from Steven Munroe . + +2003-03-25 Alexandre Oliva + + * sysdeps/mips/sgidefs.h (_MIPS_ISA_MIPS32, _MIPS_ISA_MIPS64): + Define. + * sysdeps/mips/sys/asm.h: Test _MIPS_ISA against them on all + ISA tests. + (ALSZ, ALMASK, SZREG, REG_S, REG_L): Define based on ABI, not ISA. + (PTR_ADD, etc): Test _MIPS_SZPTR instead of _MIPS_SZLONG. + * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use _MIPS_SZPTR + to decide whether to add padding. + * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Use _MIPS_SZPTR + to decide whether to add padding. + * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h (struct + old_kernel_sigaction): Likewise. + +2003-03-25 Ulrich Drepper + + * csu/tst-atomic.c: Adjust tests to what atomic_add_negative and + atomic_add_zero were supposed to do. + * include/atomic.h: Adjust atomic_add_negative and atomic_add_zero + to x86 behavior. + + * sysdeps/generic/bits/typesizes.h (__TIMER_T_TYPE): Define as void*. + This matches the new timer implementation. + * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__TIMER_T_TYPE): + Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__TIMER_T_TYPE): + Likewise. + * sysdeps/unix/sysv/linux/bits/siginfo.h (struct siginfo): Adjust + timer info for what the kernel provides these days. + (struct sigevent): Add _tid field. + Define SIGEV_THREAD_ID. + Remove struct __pthread_attr_s forward declaration. + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h: Likewise. + + * Versions.def (librt): Add GLIBC_2.3.3. + + * abilist/libpthread.abilist: Update for nptl. + +2003-03-24 Jon Grimm + + * inet/netinet/in.h: Add IPPROTO_SCTP. + +2003-03-24 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLET): Define. + +2003-03-24 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL): + Remove a1 from clobber list. + +2003-03-24 Ulrich Drepper + + * timezone/antarctica: Update from tzdata2003a. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/europe: Likewise. + * timezone/iso3166.tab: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2003-03-24 Steven Munroe + + * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_END_NOERRNO): Fix typo. + +2003-03-23 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (ret_NOERRNO): Avoid + unwanted expansion by definining to ret. Patch by Ian Wienand. + + * sysdeps/unix/make-syscalls.sh: Recognize 'E' in first position of + the parameter description to denote no error checking. Generate + appropriate pseudo asm code. + * sysdeps/unix/syscalls.list: Mark getgid, getpid, getuid with 'E'. + * sysdeps/unix/sysv/linux/syscalls.list: Mark getegid, geteuid, + getpgrp, and getppid with 'E'. + * sysdeps/powerpc/powerpc32/sysdep.h: Define PSEUDO_NOERRNO, + PSEUDO_END_NOERRNO, and ret_NOERRNO. + * sysdeps/powerpc/powerpc64/sysdep.h: Likewise. + * sysdeps/unix/sysdep.h: Likewise. + * sysdeps/unix/alpha/sysdep.h: Likewise. + * sysdeps/unix/sparc/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/cris/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. + +2003-03-23 Roland McGrath + + * Makeconfig (+includes): Don't use $(last-includes). + +2003-03-22 Alexandre Oliva + + * sysdeps/unix/sysv/linux/configure.in: Update mips64 patterns. + * sysdeps/unix/sysv/linux/configure: Rebuilt. + +2003-03-23 Jakub Jelinek + + * sysdeps/alpha/fpu/libm-test-ulps: Update. + * sysdeps/arm/libm-test-ulps: Update. + * sysdeps/hppa/fpu/libm-test-ulps: Update. + * sysdeps/ia64/fpu/libm-test-ulps: Update. + * sysdeps/mips/fpu/libm-test-ulps: Update. + * sysdeps/powerpc/nofpu/libm-test-ulps: Update. + * sysdeps/powerpc/fpu/libm-test-ulps: Update. + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update. + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. + * sysdeps/sh/sh4/fpu/libm-test-ulps: Update. + * sysdeps/s390/fpu/libm-test-ulps: Update. + * sysdeps/x86_64/fpu/libm-test-ulps: Update. + +2003-03-22 Roland McGrath + + * include/atomic.h: Put parens around all macro arguments. + (__atomic_val_bysize, __atomic_bool_bysize): New macros. + (atomic_compare_and_exchange_val_acq): Use it. + (atomic_compare_and_exchange_bool_acq): Likewise. + (atomic_increment_and_test): Invert sense of test. + (atomic_decrement_and_test): Likewise. + * csu/tst-atomic.c: Update those tests to match. + +2003-03-22 Jakub Jelinek + + * include/atomic.h (atomic_compare_and_exchange_val_acq): Add comment. + Don't define if __arch_compare_and_exchange_val_32_acq is not defined. + (atomic_compare_and_exchange_bool_acq): Add comment. Don't use + __oldval variable in the macro, since it might be macro argument. + (atomic_decrement_if_positive): Initialize __memp, remove setting + of non-existent variable. + (atomic_bit_test_set): Cast 1 to __typeof (*mem) before shifting. + * sysdeps/ia64/bits/atomic.h (atomic_exchange_and_add): Implement + using atomic_compare_and_exchange_val_acq. + (atomic_decrement_if_positive, atomic_bit_test_set): Define. + * sysdeps/s390/bits/atomic.h (__arch_compare_and_exchange_val_8_acq): + Renamed from... + (__arch_compare_and_exchange_bool_8_acq): ... this. + (__arch_compare_and_exchange_val_16_acq): Renamed from... + (__arch_compare_and_exchange_bool_16_acq): ... this. + (__arch_compare_and_exchange_val_32_acq): Return old value. Renamed + from... + (__arch_compare_and_exchange_bool_32_acq): ... this. + (__arch_compare_and_exchange_val_64_acq): Return old value. Renamed + from... + (__arch_compare_and_exchange_bool_64_acq): ... this. + (__arch_compare_and_exchange_val_32_acq): Use __typeof for local + variables types instead of assuming int. + Change prefix of local variables to __arch. + * sysdeps/generic/bits/atomic.h (arch_compare_and_exchange_acq): + Remove. + (atomic_compare_and_exchange_val_acq, + atomic_compare_and_exchange_bool_acq): Define. + + * csu/tst-atomic.c: New test. + * csu/tst-atomic-long.c: New test. + * csu/Makefile (tests): Add tst-atomic and tst-atomic-long. + + * malloc/memusagestat.c (main): Kill warning if uint64_t is ulong. + + * sysdeps/s390/Versions: Add trailing newline. + + * sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Kill warning + if INTERNAL_SYSCALL_ERROR_P doesn't use its first argument. + +2003-03-22 Andreas Schwab + + * sysdeps/m68k/fpu/libm-test-ulps: Update. + + * sysdeps/m68k/m68020/bits/atomic.h: New file. + * sysdeps/m68k/m68020/atomicity.h: Removed. + +2003-03-22 Alexandre Oliva + + * sysdeps/mips/elf/ldsodefs.h: Add mips-specific elf64 relocation + data structures and macros. Protect from multiple inclusion. + + * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Fix harmless + typo in #if test. + +2003-03-21 Andreas Jaeger + + * sysdeps/i386/fpu/libm-test-ulps: Update. + + * math/libm-test.inc (tgamma_test): Recompute some constants with + 36 digits precision. + (lgamma_test): Likewise. + (ccos_test): Likewise. + (ccosh_test): Likewise. + (clog10_test): Likewise. + (csin_test): Likewise. + (csinh_test): Likewise. + (ctan_test): Likewise. + (ctanh_test): Likewise. + +2003-03-19 Jakub Jelinek + + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerated. + +2003-03-21 Roland McGrath + + * sysdeps/i386/i486/bits/atomic.h (atomic_bit_set): Use "ir" + constraint to permit non-constant BIT argument. + (atomic_bit_test_set): Likewise. + * sysdeps/x86_64/bits/atomic.h (atomic_bit_test_set): Likewise. + (atomic_bit_set): Likewise. Use 1UL in case that BIT might be >= 32. + For quadword case, use "i" constraint if __builtin_constant_p and < 32 + or "r" constraint otherwise. + + * configure.in: Move AC_PROG_CC and other program-finding before all + the version checks. + * configure: Regenerated. + +2003-03-21 Alexandre Oliva + + * sysdeps/mips/mips64/memcpy.S: Fix porting bug that broke + unaligned copying of 8-15 bytes. From Chris Demetriou + . Fix label names. + * sysdeps/mips/mips64/memset.S: Fix label names. Make similar + change as to memcpy.S. + * sysdeps/mips/memcpy.S: Formatting changes. + * sysdeps/mips/memset.S: Likewise. + +2003-03-21 Roland McGrath + + * sysdeps/arm/sysdep.h (CALL_MCOUNT): Add trailing semicolon. + +2003-03-21 Alexandre Oliva + + * sysdeps/mips/mips64/memcpy.S, sysdeps/mips/mips64/memset.S: New. + * sysdeps/mips/memcpy.S, sysdeps/mips/memset.S: Update comments. + +2003-03-21 Roland McGrath + + * sysdeps/i386/i486/bits/atomic.h + (__arch_compare_and_exchange_val_64_acq): Rewrite abort-calling + version of the macro to avoid compile-time warnings. + [! __PIC__] (__arch_compare_and_exchange_64_acq): Rename to above. + (atomic_exchange_and_add, atomic_add): Fix name and usage of it. + (atomic_increment, atomic_decrement): Likewise. + +2003-03-21 Ulrich Drepper + + * sysdeps/x86_64/bits/atomic.h: Don't use matching memory constraints. + * sysdeps/i386/i486/bits/atomic.h: Likewise. + +2003-03-21 Roland McGrath + + * include/atomic.h (atomic_compare_and_exchange_bool_acq): Typo fix. + +2003-03-20 Ulrich Drepper + + * include/atomic.h: Define atomic_compare_and_exchange_val_acq, + atomic_compare_and_exchange_val_rel, + atomic_compare_and_exchange_bool_acq, and + atomic_compare_and_exchange_bool_rel instead of + atomic_compare_and_exchange_acq and atomic_compare_and_exchange_rel. + * sysdeps/i386/i486/bits/atomic.h: Define + __arch_compare_and_exchange_val_*_acq instead of + __arch_compare_and_exchange_*_acq. + * sysdeps/x86_64/bits/atomic.h: Likewise. + * sysdeps/ia64/bits/atomic.h: Define + __arch_compare_and_exchange_bool_*_acq instead of + __arch_compare_and_exchange_*_acq. + * sysdeps/powerpc/bits/atomic.h: Likewise. + * sysdeps/s390/bits/atomic.h: Likewise. + * gmon/mcount.c: Adjust for new form of compare&exchange macros. + * malloc/set-freeres.c: Likewise. + * nscd/cache.c: Likewise. + * stdlib/cxa_finalize.c: Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. + +2003-03-20 Alexandre Oliva + + * sysdeps/mips/bits/setjmp.h: n32 has only 6 call-saved fpregs. + * sysdeps/mips/mips64/setjmp_aux.c (__sigsetjmp_aux): Adjust. + * sysdeps/mips/mips64/__longjmp.c (__longjmp): Likewise. + + * sysdeps/unix/sysv/linux/mips/pread.c: Don't break up offset + into high and low halves on n64. + * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. + +2003-03-20 Ulrich Drepper + + * include/atomic.h (atomic_decrement_if_positive): Adjust for the + correct atomic_compare_and_exchange_acq semantics. + +2003-03-20 Alexandre Oliva + + * sysdeps/mips/ieee754.h: Remove excess #endif. + +2003-03-20 Roland McGrath + + * sysdeps/powerpc/bits/atomic.h (atomic_exchange): Remove unused + variable. Remove superfluous memory clobber. + + * include/atomic.h: Syntax braino fix. + + * posix/tst-nice.c (do_test): Use %m formats instead of printing errno + in decimal. Don't bail if niced at start. Just check that nice call + bumps the total at all. + +2003-03-20 Alexandre Oliva + + * sysdeps/mips/bits/setjmp.h: Store all N32 and N64 registers, + including pc, gp, sp and fp, as long long. + * sysdeps/mips/mips64/setjmp.S: Pass gp to __sigsetjmp_aux. + * sysdeps/mips/mips64/setjmp_aux.c: Adjust type of arguments. + Add gp argument, and set gp in the jmpbuf to it. + * sysdeps/mips/setjmp_aux.c: Revert to o32-only. + +2003-03-20 Ulrich Drepper + + * include/atomic.h: Define atomic_exchange and + atomic_decrement_if_positive if not already defined. Add some + __builtin_expect. + * sysdeps/i386/i486/bits/atomic.h: Define atomic_exchange. + * sysdeps/x86_64/bits/atomic.h: Likewise. + * sysdeps/ia64/bits/atomic.h: Pretty printing. Define atomic_exchange. + * sysdeps/powerpc/bits/atomic.h: Pretty printing. Define + atomic_exchange, atomic_exchange_and_add, and + atomic_decrement_if_positive + +2003-03-20 Alexandre Oliva + + * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: Sign-extend + with a single instruction. + + * sysdeps/mips/dl-machine.h (ELF_MIPS_GNU_GOT1_MASK): Define + properly for n64. + (elf_machine_runtime_setup): Cast link_map pointer to Elf Addr + type. + (elf_machine_rel, elf_machine_rel_relative): Cast symidx to Elf + Word before comparing with gotsym. Take reloc_addr argument as + void*. Remove the code added for the compiler to drop any + alignment assumptions. + +2003-03-19 Ulrich Drepper + + * Makefile (distribute): Add include/atomic.h and bits/atomic.h. + * include/atomic.h: New file. + * sysdeps/i386/i486/bits/atomic.h: New file. + * sysdeps/x86_64/bits/atomic.h: New file. + * sysdeps/s390/bits/atomic.h: New file. + * sysdeps/sh/bits/atomic.h: New file. + * sysdeps/ia64/bits/atomic.h: New file. + * sysdeps/powerpc/bits/atomic.h: New file. + * sysdeps/generic/bits/atomic.h: New file. + * sysdeps/i386/i486/atomicity.h: Removed. + * sysdeps/x86_64/atomicity.h: Removed. + * sysdeps/s390/s390-32/atomicity.h: Removed. + * sysdeps/s390/s390-64/atomicity.h: Removed. + * sysdeps/ia64/atomicity.h: Removed. + * sysdeps/powerpc/powerpc32/atomicity.h: Removed. + * sysdeps/powerpc/powerpc64/atomicity.h: Removed. + * elf/dl-profile.c: Use atomic.h instead of atomicity.h. Adjust + use of macros from atomicity.h to new names and semantics. + * gmon_mcount.c: Likewise. + * malloc/set-freeres.c: Likewise. + * nscd/cache.c: Likewise. + * stdlib/cxa_finalize.c: Likewise. + * sysdeps/unix/sysv/linux/getsysstats.c: Likewise. + +2003-03-19 Alexandre Oliva + + * sysdeps/mips/ieee754.h: New file, suitable to replace both + ../ieee754/ieee754.h and ../ieee754/ldbl-128/ieee754.h, kept + mips-specific for now. + +2003-03-19 Ulrich Drepper + + * stdlib/strtod.c (INTERNAL): While eating trailing zeros handle + hexdigits correctly. Reported by Fred Tydeman . + * stdlib/tst-strtod.c: Add test for the bug. + + * posix/tst-nice.c (do_test): Remove invalid of return value. + Don't run test if initial level != 0. + +2003-03-19 Amos Waterland + + * posix/tst-nice.c: New file. + * posix/Makefile (tests): Add tst-nice. + +2003-03-18 Roland McGrath + + * abilist: New directory of libfoo.abilist files maintained using + scripts/merge-abilist.awk and "make update-abi" rules. + * Makefile (distribute): Add abilist/*.abilist. + * Makerules [$(build-shared) = yes] [$(subdir)] (tests): + Depend on check-abi. + + * configure.in: Move $critic_missing check after all AC_CHECK_PROG_VER. + * configure: Regenerated. + + * sysdeps/unix/sysv/linux/syscalls.list (posix_fadvise64): Fix name. + +2003-03-18 Ulrich Drepper + + * sysdeps/posix/sysconf.c (__sysconf): Handle _SC_MONOTONIC_CLOCK + correctly. + +2003-03-18 Steven Munroe + + * sysdeps/powerpc/powerpc64/memcpy.S: New file. + +2003-03-18 Ulrich Drepper + + * Versions.def: Add GLIBC_2.3.3 for libpthread. + +2003-03-17 Ulrich Drepper + + * sysdeps/generic/libc-start.c [!SHARED && + !LIBC_START_MAIN_AUXVEC_ARG]: Compute beginning of auxvec correctly. + +2003-03-17 Roland McGrath + + * include/ctype.h: Revert last change. + +2003-03-17 Ulrich Drepper + + * argp/tst-argp1.c: Use test-skeleton.c. + * locale/tst-C-locale.c: Likewise. + +2003-03-17 Alexandre Oliva + + * sysdeps/mips/mips64/Implies: Move wordsize-64 to... + * sysdeps/mips/mips64/n64/Implies: New file. + * sysdeps/mips/mips64/n64/Makefile: New file. + * sysdeps/mips/mips64/n64/el/bits/endian.h: New file. + * sysdeps/mips/mips64/n32/Implies: New file. + * sysdeps/mips/mips64/n32/Makefile: New file. + * sysdeps/mips/mips64/n32/el/bits/endian.h: New file. + * sysdeps/unix/mips/mips64/n32/sysdep.h: New file. + * sysdeps/unix/mips/mips64/n64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n64/glob64.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/mips/mips64/ldconfig.h: New file. + * sysdeps/unix/sysv/linux/mips/mips64/llseek.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/recv.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/send.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/syscall.S: New file. + * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/mips/mips64/umount.c: New file. + * sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S: New file. + + * sysdeps/unix/sysv/linux/configure.in (libc_cv_slibdir): Use + lib64 for mips64/n64 and lib32 for mips64/n32. + (ldd_rewrite_script): Needed for all mips64 configurations. + * sysdeps/unix/sysv/linux/configure: Rebuilt. + * sysdeps/unix/sysv/linux/mips/mips64/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/mips/mips64/Dist: New file. + + * sysdeps/mips/machine-gmon.h (MCOUNT): Define for N32 and N64 as + well. + + * sysdeps/unix/sysv/linux/mips/configure.in: New. Pre-process + asm/unistd.h into asm-unistd.h. + * sysdeps/unix/sysv/linux/mips/configure: Generated. + * sysdeps/unix/sysv/linux/mips/Makefile: Do custom processing + of syscall list. + * sysdeps/unix/sysv/linux/mips/sys/syscall.h: New file. + * sysdeps/unix/sysv/linux/mips/clone.S: Don't include + asm/unistd.h. + + * sysdeps/unix/sysv/linux/mips/sys/ptrace.h: New file. + * sysdeps/unix/sysv/linux/mips/ptrace.c: New file. Use long + long type for registers on n32. + + * sysdeps/mips/bits/wordsize.h: New file, appropriate for all + 3 ABIs. + * sysdeps/mips/mips64/gmp-mparam.h: New file. Define + BITS_PER_LONGINT to __WORDSIZE, to match all 3 ABIs. + * sysdeps/mips/setjmp_aux.c (STRINGXP, REGS, PTRS): New macros. + (__sigsetjmp_aux): Use them. Adjust for all 3 ABIs. + * sysdeps/mips/elf/start.S: Adjust for all 3 ABIs. + * sysdeps/unix/mips/brk.S: Likewise. + * sysdeps/unix/mips/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. + * sysdeps/mips/bits/setjmp.h (__jmp_buf): Likewise. + * sysdeps/mips/sys/ucontext.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sys/profcs.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise. + * sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise. + * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise. + * sysdeps/mips/mips64/bsd-setjmp.S: Likewise. + * sysdeps/mips/mips64/setjmp.S: Likewise. + * sysdeps/mips/mips64/bits/setjmp.h: Deleted, obsolete. + * sysdeps/mips/mips64/soft-fp/sfp-machine.h: Use long long for + 64-bit types. + +2003-03-16 Ulrich Drepper + + * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Define tv here, + not at function level. + * sysdeps/unix/clock_gettime.c (HANDLE_REALTIME): Likewise. + +2003-03-15 Roland McGrath + + * nis/nss_nis/nis-hosts.c (internal_gethostbyname2_r): int -> size_t + * nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Likewise. + * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Likewise. + * nis/nis_table.c (__create_ib_request): Likewise. + + * posix/fnmatch_loop.c: Add casts for signedness. + * nss/nss_files/files-hosts.c: Likewise. + * nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise. + * gmon/gmon.c (write_call_graph): Use u_long for FROM_LEN. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Use nscd_ssize_t for CNT. + + * configure.in (libc_cv_visibility_attribute): Use AC_TRY_COMMAND, + get errors into the log file. + (libc_cv_broken_visibility_attribute): Likewise. + (libc_cv_broken_alias_attribute): Likewise. + (libc_cv_asm_weak_directive): Likewise. + (libc_cv_need_minus_P): Likewise. + (libc_cv_dot_text): Likewise. + (libc_cv_asm_global_directive): Likewise. + (libc_cv_asm_type_prefix): Likewise. + * configure: Regenerated. + + * nscd/cache.c (cache_search): Give first arg type `request_type'. + * nscd/nscd.h: Update decl. + + * nscd/nscd_getpw_r.c (nscd_getpw_r): Add casts for signedness. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. + * elf/dl-close.c (_dl_close): Likewise. + * sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): int -> size_t + * io/fts.c (fts_build): Likewise. + * elf/cache.c (add_to_cache): Likewise. + * locale/programs/locarchive.c (show_archive_content): Likewise. + + * posix/fnmatch.c (fnmatch): Tweak __builtin_expect use. + + * include/ctype.h (__ctype_b_loc): Tweak type punning to make gcc 3.3 + happy. + (__ctype_toupper_loc, __ctype_tolower_loc): Likewise. + +2003-03-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ia64/system.c: Use the generic Linux + code for most parts. + +2003-03-15 Roland McGrath + + * sysdeps/unix/sysv/linux/i386/system.c: Moved to ... + * sysdeps/unix/sysv/linux/system.c: ... here. + (FORK): Don't #define if already #define'd. + * sysdeps/unix/sysv/linux/s390/system.c: File removed. + * sysdeps/unix/sysv/linux/kernel-features.h [__powerpc__]: + (__ASSUME_CLONE_THREAD_FLAGS): Define for kernel >= 2.5.64. + + * dlfcn/tst-dlinfo.c: New file. + * dlfcn/Makefile (tests): Add tst-dlinfo. + ($(objpfx)tst-dlinfo): New target. + + * dlfcn/dlinfo.c: New file. + * dlfcn/Makefile (libdl-routines): Add it. + * dlfcn/Versions (libdl: GLIBC_2.3.3): Add dlinfo. + * dlfcn/dlfcn.h [__USE_GNU]: Declare dlinfo. + [__USE_GNU] (RTLD_DI_*): New enum constants. + [__USE_GNU] (Dl_serpath, Dl_serinfo): New types. + * elf/dl-load.c (cache_rpath): New inline function. + (_dl_map_object): Use it. + (_dl_rtld_di_serinfo): New function. + * sysdeps/generic/ldsodefs.h: Declare it. + * elf/Versions (ld: GLIBC_PRIVATE): Add it. + + * sysdeps/powerpc/elf/libc-start.c (AUX_VECTOR_INIT): Define it. + (LIBC_START_MAIN, LIBC_START_MAIN_AUXVEC_ARG, MAIN_AUXVEC_ARG) + (INIT_MAIN_ARGS): Define, and #include . + (__libc_start_main): Just call the generic one for most of the work. + + * sysdeps/generic/libc-start.c [LIBC_START_MAIN]: If defined, define a + static function by that name instead of BP_SYM (__libc_start_main). + [LIBC_START_MAIN_AUXVEC_ARG]: Take AUXVEC as argument. + [MAIN_AUXVEC_ARG]: Pass 4th argument to MAIN. + [INIT_MAIN_ARGS]: Give INIT the same args as MAIN. + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [DL_PLATFORM_AUXV]: + Use this macro for extra AT_* cases. + * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c (DL_PLATFORM_AUXV): + New macro, guts from ... + (__aux_init_cache): ... here, function removed. + (DL_PLATFORM_INIT): Don't define this. + + * sysdeps/powerpc/powerpc32/memset.S: Put __cache_line_size in bss. + * sysdeps/powerpc/powerpc64/memset.S: Likewise. + + * Versions.def (libthread_db): Add GLIBC_2.3.3 set. + +2003-03-14 Roland McGrath + + * dlfcn/dlerror.c (dlerror): If objname is "", don't put ": " after it. + +2003-03-14 Jakub Jelinek + + * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Fix a typo. + + * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include + sysdeps/posix/pause.c instead of sysdeps/unix/common/pause.c. + +2003-03-14 Alexandre Oliva + + * sysdeps/mips/fpu/bits/mathdef.h: New. + (__NO_LONG_DOUBLE_MATH): Define for o32. + + * sysdeps/mips/sys/asm.h: Formatting changes. + (PTR, PTRSIZE, PTRLOG): Adjust for all 3 ABIs. + (CPADD): Define for all of them. + (SETUP_GP, SETUP_GPX, SETUP_GPX_L, SAVE_GP, SETUP_GP64, + SETUP_GPX64, SETUP_GPX64_L, RESTORE_GP64, USE_ALT_CP, + NARGSAVE): Define per ABI spec. + (END): Don't redefine. + (LONG_SLL, LONG_SLLV, LONG_SRL, LONG_SRLV, LONG_SRA, + LONG_SRAV): Remove duplicate definitions. + (PTR_ADD, PTR_ADDI, PTR_ADDU, PTR_ADDIU, PTR_SUB, PTR_SUBI, + PTR_SUBU, PTR_SUBIU, PTR_L, PTR_S, PTR_SLL, PTR_SLLV, PTR_SRL, + PTR_SRLV, PTR_SRA, PTR_SRAV, PTR_SCALESHIFT): Define for n32. + (PTR_LA): Define for all 3 ABIs. + + * sysdeps/mips/dl-machine.h: Include sys/asm.h. + (elf_machine_matches_host): Prevent linking of o32 and n32 + together. + (elf_machine_dynamic): Document assumption on $gp. + (STRINGXP, STRINGXV, STRINGV_): New macros. + (elf_machine_load_address): Use them to stringize PTR_LA and + PTR_SUBU. + (ELF_DL_FRAME_SIZE, ELF_DL_SAVE_ARG_REGS, + ELF_DL_RESTORE_ARG_REGS, IFABIO32): New macros used in... + (_dl_runtime_resolve): Adjust it for all 3 ABIs. + (__dl_runtime_resolve): Cast the symtab initializer to the + right type. + (RTLD_START): Use it. Adjust it for all 3 ABIs. + (elf_machine_rel): Mark as always_inline in RTLD_BOOTSTRAP. + Handle 64-bit R_MIPS_REL composite relocation and accept + R_MIPS_64 relocations to shift addend size to 64 bits. + Document assumption regarding local GOT entries. Document + backward-compatibility departing from the ABI behavior in + applying relocations that reference section symbols, no longer + used. Support relocations to mis-aligned offsets. + * sysdeps/mips/mips64/dl-machine.h: Deleted, obsolete. + + * sysdeps/unix/sysv/linux/mips/readelflib.c: New file. + + * sysdeps/unix/sysv/linux/mips/kernel_sigaction.h + (_KERNEL_NSIG_BPW): Define in terms of _MIPS_SZLONG. + * sysdeps/unix/sysv/linux/mips/sigaction.c: Define restore and + restore_rt functions. Use them. + + * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Don't + .set mips2 on new abis. + +2003-03-13 Ulrich Drepper + + * posix/getconf.c: Recognize POSIX2_SYMLINKS. + * sysdeps/generic/bits/confname.h: Define _PC_2_SYMLINKS. + * sysdeps/posix/fpathconf.c: Handle _PC_2_SYMLINKS. + * sysdeps/posix/pathconf.c: Likewise. + * sysdeps/unix/sysv/linux/fpathconf.c: Likewise. + * sysdeps/unix/sysv/linux/pathconf.c: Likewise. + * sysdeps/unix/sysv/linux/pathconf.h: Define statfs_symlinks. + + * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define some more magic + words. + +2003-03-14 Alexandre Oliva + + * include/gmp.h: Include/gmp-mparam.h. + * stdlib/strtod.c: Include gmp-mparam.h before gmp.h and + gmp-impl.h. + + * elf/dl-conflict.c: Don't compile _dl_resolve_conflicts if + ELF_MACHINE_NO_RELA is set. + * elf/rtld.c (dl_main): No prelink support for REL-only. + + * sysdeps/generic/ldconfig.h (FLAG_MIPS64_LIBN32, + FLAG_MIPS64_LIBN64): Define. + * elf/cache.c (print_entry): Handle mips64 n32 and n64. + + * sysdeps/mips/memcpy.S: Map t0-3 to a4-7 on new abis. + * sysdeps/mips/memset.S: Likewise. + * sysdeps/mips/sys/regdef.h: Alias a4-7 or t0-3 to $8-11 + depending on the ABI. + + * sysdeps/mips/atomicity.h (exchange_and_add, atomic_add): + Don't .set mips2 on new abi. + (compare_and_swap): Likewise. Support 64-bit longs on n64. + + * stdlib/fpioconst.h: Include gmp.h with angle brackets. + +2003-03-13 Roland McGrath + + * elf/dl-load.c (_dl_map_object_from_fd): Bail if no PT_LOAD phdrs + found. Reported by Alexandre Oliva . + +2003-03-13 Alexandre Oliva + + * stdio-common/_itoa.c (_itoa_base_table): Make 64-bit + literals long long. + * stdlib/fpioconst.c: Likewise. + * stdlib/strtod.c: Likewise. + + * sysdeps/mips/add_n.S: Use L macro for local labels. + * sysdeps/mips/addmul_1.S: Likewise. + * sysdeps/mips/lshift.S: Likewise. + * sysdeps/mips/memcpy.S: Likewise. + * sysdeps/mips/memset.S: Likewise. + * sysdeps/mips/mul_1.S: Likewise. + * sysdeps/mips/rshift.S: Likewise. + * sysdeps/mips/sub_n.S: Likewise. + * sysdeps/mips/submul_1.S: Likewise. + * sysdeps/mips/mips64/add_n.S: Likewise. + * sysdeps/mips/mips64/addmul_1.S: Likewise. + * sysdeps/mips/mips64/lshift.S: Likewise. + * sysdeps/mips/mips64/mul_1.S: Likewise. + * sysdeps/mips/mips64/rshift.S: Likewise. + * sysdeps/mips/mips64/sub_n.S: Likewise. + * sysdeps/mips/mips64/submul_1.S: Likewise. + * sysdeps/unix/mips/sysdep.h: Define L() according to ABI + conventions. Define END as in sys/asm.h. + * sysdeps/unix/mips/sysdep.S: Likewise. + * sysdeps/unix/mips/wait.S: Likewise. + * sysdeps/unix/sysv/linux/mips/clone.S: Likewise. + + * sysdeps/ieee754/dbl-64/dbl2mpn.c (__mpn_extract_double): + Cast shifted values that may be too narrow to mp_limb_t. + * sysdeps/ieee754/dbl-64/mpn2dbl.c (__mpn_construct_double): + Likewise. + * sysdeps/ieee754/flt-32/mpn2flt.c (__mpn_construct_float): + Likewise. + * sysdeps/ieee754/ldbl-128/ldbl2mpn.c + (__mpn_extract_long_double): Likewise. + * sysdeps/ieee754/ldbl-128/mpn2ldbl.c + (__mpn_construct_long_double): Likewise. + * sysdeps/ieee754/ldbl-96/ldbl2mpn.c + (__mpn_extract_long_double): Likewise. + * sysdeps/ieee754/ldbl-96/mpn2ldbl.c + (__mpn_construct_long_double): Likewise. + +2003-03-13 Roland McGrath + + * elf/Makefile ($(objpfx)librtld.mk): Tweak regexp so that one-line + entries in the map file match too. + +2003-03-13 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/clone.S: introduce and use local + label .Lthread_start since current binutils don't allow branches + to globally visible symbols. + +2003-03-13 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (BREAK_INSN_1, BREAK_INSN, + ASM_OUTARGS_0, ASM_OUTARGS_1, ASM_OUTARGS_2, ASM_OUTARGS_3, + ASM_OUTARGS_4, ASM_OUTARGS_5, ASM_OUTARGS_6): Define. + (INTERNAL_SYSCALL, INLINE_SYSCALL): Use it. Make syscall arguments + clobbered by the syscall. + (ASM_ARGS_1, ASM_ARGS_2, ASM_ARGS_3, ASM_ARGS_4, ASM_ARGS_5, + ASM_ARGS_6): Change constraints from r to index of corresponding + output register. + * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Swap + ptid and ctid to match kernel. + * sysdeps/unix/sysv/linux/ia64/system.c (FORK): Likewise. + +2003-03-12 Steven Munroe + + * sysdeps/powerpc/powerpc64/elf/configure.in: Remove + AC_DEFINE(PI_STATIC_AND_HIDDEN). Not supported for PowerPC64. + * sysdeps/powerpc/powerpc64/elf/configure: Regenerated. + +2003-03-11 Roland McGrath + + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): + Check SYM_MAP rather than SYM as definedness check. + Handle R_PPC64_ADDR32, R_PPC64_ADDR30, and R_PPC64_REL64 relocs. + Don't handle R_PPC64_REL24 reloc. + Mostly from Steven Munroe . + + * sysdeps/powerpc/powerpc64/dl-machine.h + [USE_TLS] (elf_machine_type_class): Match all the TLS relocs in a + block, so we cover all the TPREL16* flavors without 6 ||s. + [USE_TLS] (elf_machine_tprel): New function. + (elf_machine_rela) [USE_TLS]: Use elf_machine_tprel for TPREL64 reloc, + and handle TPREL16 relocs too. Return rather than break for DTPREL64. + Mostly from Steven Munroe . + +2003-03-11 Ralf Baechle + + * sysdeps/unix/sysv/linux/mips/clone.S (__thread_start): Use jal + instead of jalr to invoke subroutine so restoring the $gp register + will work properly. + +2003-03-11 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread64): Define + to __NR_pread if not defined. + (__NR_pwrite64): Define to __NR_pwrite if not defined. + +2003-03-11 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/system.c: New file. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS): Define for IA-64 and s390* with + kernel >= 2.5.64. + +2003-03-11 Jakub Jelinek + + * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): If CNT == 1, + allocate space even for the trailing '/'. + Reported by John Reiser . + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (LOAD_ARGS_6, ASM_ARGS_6, + ASM_CLOBBERS_6): Define. + (ASM_CLOBBERS_5): Use ASM_CLOBBERS_6. + * sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Reorder arguments + to match IA-32 order. + * sysdeps/unix/sysv/linux/i386/clone.S: Fix comment. + +2003-03-10 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't clobber R7. + Copy extra params for NPTL to registers used in clone syscall. + +2003-03-10 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Correct system + call names for pread and pwrite. + +2003-03-10 Roland McGrath + + * dlfcn/Makefile (libdl-routines): Add dladdr1. + * dlfcn/dladdr1.c: New file. + * dlfcn/dlfcn.h [__USE_GNU]: Declare dladdr1. + [__USE_GNU] (RTLD_DL_SYMENT, RTLD_DL_LINKMAP): New enum constants. + * elf/dl-addr.c (_dl_addr): Take new args, a struct link_map ** and + a const ElfNN_Sym ** to fill in. + * include/dlfcn.h: Update decl. Include . + * dlfcn/dladdr.c (dladdr): Update caller. + * malloc/mtrace.c (tr_where): Likewise. + * sysdeps/generic/elf/backtracesyms.c: Likewise. + * sysdeps/generic/elf/backtracesymsfd.c: Likewise. + * dlfcn/Versions (libdl: GLIBC_2.3.3): New set, add dladdr1. + * Versions.def (libdl): Define GLIBC_2.3.3 set. + + * sysdeps/unix/make-syscalls.sh: Generate $(compile-syscall) for + assembler command. + * sysdeps/unix/Makefile (compile-syscall): New variable. + Pass -g0 to compiler for assembling syscall stubs from stdin. + + * sysdeps/i386/sysdep.h [HAVE_CPP_ASM_DEBUGINFO] + (STABS_CURRENT_FILE, STABS_CURRENT_FILE1, STABS_FUN, STABS_FUN_END): + Define these to do nothing. + + * configure.in: New check for -g on .S files. + * configure: Regenerated. + * config.make.in (have-cpp-asm-debuginfo): New variable. + * config.h.in (HAVE_CPP_ASM_DEBUGINFO): New #undef. + * Makeconfig (ASFLAGS): New variable, if undefined and + $(have-cpp-asm-debuginfo), take options matching -g% from $(CFLAGS). + * Makerules (compile.S, COMPILE.S): Use $(ASFLAGS). + +2003-03-09 Roland McGrath + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Take 3 new args + used by NPTL on new kernels. From Paul Mackerras . + +2003-03-09 Ulrich Drepper + + * po/fi.po: Update from translation team. + * po/ca.po: Likewise. + * po/da.po: Likewise. + +2003-03-08 Ulrich Drepper + + * rt/tst-aio7.c (do_test): Change BYTES into a #define. + +2003-03-07 Ulrich Drepper + + * rt/tst-aio7.c (do_test): Give BUFF permanent extent, too. + + * sysdeps/powerpc/fpu/w_sqrt.c: Fix comment. + +2003-03-07 Roland McGrath + + * sysdeps/s390/s390-32/sysdep.h (L): Use .Lfoo instead of foo. + * sysdeps/s390/s390-64/sysdep.h (L): Likewise. + +2003-03-04 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove unneeded + stubs, we have INLINE_SYSCALL. + * sysdeps/unix/sysv/linux/mips/bits/mman.h: Define MAP_POPULATE, + MAP_NONBLOCK. + +2003-03-06 Roland McGrath + + * rt/tst-aio7.c (do_test): Revert last change. Instead, give CB1 + permanent extent and add a comment about testing its implicit teardown. + +2003-03-06 Martin Schwidefsky + + * rt/tst-aio7.c (do_test): Cancel i/o on CB1 before it's out of scope. + +2003-03-05 Ulrich Drepper + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Fix + reversed __builtin_expect expectation. + +2003-03-05 Roland McGrath + + * stdio-common/sscanf.c: Use prototype defn with ... syntax. + * libio/swscanf.c: Likewise. + * libio/swprintf.c: Likewise. + +2003-03-04 Roland McGrath + + * sysdeps/powerpc/powerpc64/dl-machine.h: Include . + (elf_machine_rela): Always use RESOLVE_MAP, needed for + R_PPC64_JMP_SLOT as well as TLS cases. + (BIT_INSERT): Move parenthesis where it ought to have been. + Reported by Steven Munroe . + + * posix/confstr.c (confstr): Correct STRING_LEN values for + _CS_GNU_LIBC_VERSION and _CS_GNU_LIBPTHREAD_VERSION, add missing + break. Reported by Alexandre Julliard . + +2003-03-04 Jakub Jelinek + + * sysdeps/ia64/fpu/libm-test-ulps: Regenerated. + +2003-03-04 Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/clone.S: Add support for the new + clone parameters. + + * po/sv.po: Update from translation team. + +2003-03-04 Andreas Jaeger + Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Fix comments. + +2003-03-03 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.h: Add double include protection. + + * po/tr.po: Update from translation team. + + * elf/dl-load.c (_dl_map_object_from_fd): Determine whether there + are holes between the segments. Only call mprotect to set + proection to PROT_NONE if there are some. + + * elf/dl-load.c (struct filebuf): Actually use FILEBUF_SIZE. + Update comment. + + * include/sched.h (__clone2): Use ... instead of adding all the + new parameters. + +2003-03-03 Roland McGrath + + * elf/dl-load.c (struct filebuf): Fix typo in last change. + + * sysdeps/powerpc/powerpc32/elf/configure.in: Don't define + PI_STATIC_AND_HIDDEN. + +2003-03-03 Ian Wienand + + * sysdeps/unix/sysv/linux/ia64/clone2.S: Update to take extra clone + flags. + * include/sched.h: Update clone2 prototype. + +2003-03-03 Andreas Jaeger + + * math/tgmath.h (__TGMATH_UNARY_REAL_RET_ONLY): New definition. + (llrint): Use it to correct return type. + (lrint): Likewise. + (lround): Likewise. + (llround): Likewise. + +2003-03-03 Ulrich Drepper + + * elf/dl-load.c (struct filebuf): For 64-bit platforms use 640 + byte filebuf size. + + * libio/fileops.c (_IO_new_file_fopen): Close stillborn descriptor + if ccs parameter isn't valid. Reported by Andreas Schwab. + +2003-03-03 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/syscall.S (syscall): Add support + for system call numbers > 255. + * sysdeps/unix/sysv/linux/s390/s390-32/syscall.h (DO_CALL, + INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, + INTERNAL_SYSCALL): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S (syscall): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscall.h (DO_CALL, + INLINE_SYSCALL, INTERNAL_SYSCALL_DIRECT, INTERNAL_SYSCALL_SVC0, + INTERNAL_SYSCALL): Likewise. + +2003-03-03 Martin Schwidefsky + + * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Don't free the dtv + array if it is the initial dtv. + +2003-03-03 Ulrich Drepper + + * po/es.po: Update from translation team. + * po/fr.po: Likewise. + * po/gl.po: Likewise. + * po/sk.po: Likewise. + * po/sv.po: Likewise. + + * sysdeps/unix/sysv/linux/syscalls.list: Add remap_file_pages entry. + * misc/sys/mman.h: Add prototype for remap_file_pages. + * sysdeps/generic/remap_file_pages.c: New file. + * misc/Makefile (routines): Add remap_file_pages. + * misc/Versions [libc:GLIBC_2.3.3]: Add remap_file_pages. + + * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_POPULATE + and MAP_NONBLOCK. + * sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Likewise + * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/arm/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Likewise. + * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. + +2003-03-03 Roland McGrath + + * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Revert last change. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Remove const from + argument type. + * sysdeps/ia64/dl-lookupcfg.h: Update decl. + + * sysdeps/wordsize-64/strtol_l.c (strtoll_l): Define as weak alias. + * sysdeps/wordsize-64/strtoul_l.c (strtoull_l): Define as weak alias. + * locale/Versions (libc: GLIBC_2.3): Move those to ... + * sysdeps/wordsize-32/Versions (libc: GLIBC_2.3): ... here, new file. + * sysdeps/wordsize-64/Versions (libc: GLIBC_2.3.3) Likewise. + * Versions.def (libc): Add GLIBC_2.3.3 set. + + * sysdeps/ia64/dl-fptr.c (__ia64_make_fptr): Add const to MAP arg. + * sysdeps/ia64/dl-machine.h: Update decl. + +2003-03-03 Andreas Jaeger + + * sysdeps/unix/clock_settime.c (HANDLE_REALTIME): Add missing brace. + +2003-03-02 Roland McGrath + + * scripts/abilist.awk: Reject data items with apparent 0 size. + + * scripts/merge-abilist.awk: Restore hack to elide pattern foo.*/bar + after foo.* as if it were a duplicate. + + * sysdeps/unix/sysv/linux/ia64/brk.S: Add .type and .size for __curbrk. + +2003-03-02 Ulrich Drepper + + * elf/dl-load.c (struct filebuf): Reduce buf array to 512 bytes. + + * sysdeps/generic/bits/time.h: Define CLOCK_MONOTONIC. + * sysdeps/posix/clock_getres.c: Define code for CLOCK_REALTIME only + if not already defined. Use SYSDEP_GETRES to allow other files to + provide alternative implementations. + * sysdeps/unix/sysv/linux/clock_getres.c: New file + * sysdeps/unix/clock_gettime.c: Define code for CLOCK_REALTIME only + if not already defined. Use SYSDEP_GETTIME to allow other files to + provide alternative implementations. + * sysdeps/unix/sysv/linux/clock_gettime.c: New file. + * sysdeps/unix/clock_settime.c: Define code for CLOCK_REALTIME only + if not already defined. Use SYSDEP_GETTIME to allow other files to + provide alternative implementations. + * sysdeps/unix/sysv/linux/clock_settime.c: New file. + * sysdeps/unix/clock_nanosleep.c: Use SYSDEP_NANOSLEEP to allow + other files to provide alternative implementations. Rearrange + tests for invalid parameters. + * sysdeps/unix/sysv/linux/clock_nanosleep.c: New file. + * sysdeps/unix/sysv/linux/sysconf.c: New file. + * sysdeps/unix/sysv/linux/kernel-features.h: Define + __ASSUME_POSIX_TIMERS for Linux 2.5.63 and up. + * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define + _POSIX_MONOTONIC_CLOCK. + +2003-03-02 Roland McGrath + + * scripts/merge-abilist.awk: More checks for bogus input. + Uniquify duplicate config names. + + * scripts/abilist.awk: Don't distinguish weak symbols in normal output. + + * sysdeps/powerpc/powerpc32/dl-machine.c (_dl_reloc_overflow): Renamed + from dl_reloc_overflow, make global. + (__process_machine_rela): Update callers. + * sysdeps/powerpc/powerpc32/dl-machine.h: Declare _dl_reloc_overflow. + Add attribute_hidden to __process_machine_rela decl. + (elf_machine_type_class, elf_machine_rela): Handle 16-bit TLS relocs. + + * sysdeps/generic/libc-start.c (__libc_start_main): Don't assign const + variable. + + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_fixup_plt): + Don't use weak_extern for dl_rtld_map. Instead check only if [SHARED]. + (elf_machine_rela): Clean up. + + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Clean up. + + PowerPC TLS support contributed by Paul Mackerras . + * sysdeps/powerpc/powerpc32/elf/configure.in: New file. + * sysdeps/powerpc/powerpc32/elf/configure: New generated file. + * elf/tls-macros.h [__powerpc__ && !__powerpc64__] + (TLS_LE, TLS_IE, TLS_LD, TLS_GD): Define them. + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_rela): Support + new relocs for TLS. + + * sysdeps/powerpc/dl-tls.h (TLS_TP_OFFSET, TLS_DTV_OFFSET): Move these + macros out of [SHARED]. + (TLS_TPREL_VALUE, TLS_DTPREL_VALUE): New macros. + + * elf/elf.h: Define R_PPC_* relocs for TLS support. + Clean up R_PPC64_* macro definition comments. + + * configure.in: In "running configure fragment for" message, + omit $srcdir from the name if we prepended it. + * configure: Regenerated. + + * elf/dl-reloc.c (allocate_static_tls): Fix calculations. + From Jakub Jelinek . + + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Revert last change, + which duplicated the O_DIRECT defn. + +2003-03-01 GOTO Masanori + + * stdlib/stdlib.h: Add missing __USE_BSD enclosure for BSD derived + random functions. + +2003-03-01 Andreas Schwab + + * resolv/Makefile (tests): Don't depend on + $(objpfx)mtrace-tst-leaks when cross compiling. + + * sysdeps/m68k/dl-machine.h (_dl_start_user): Access + __libc_stack_end through GOT since it is a global symbol. + +2003-03-01 GOTO Masanori + + * argp/argp.h: Fix a typo. + Reported by H.S.Teoh . + + * manual/terminal.texi: Fix cfmakeraw() definition from int to void. + +2003-02-27 Pat Rankin + + * posix/regexec.c (proceed_next_node): Cast re_string_get_buffer to + char *. + (get_subexp): Likewise. + +2003-03-01 GOTO Masanori + + * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_DIRECT): Define. + +2003-02-26 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_DIRECT): Define. + +2003-02-27 Roland McGrath + + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Remove + special case for dl_rtld_map in R_PPC64_RELATIVE; it's harmless to + repeat it and avoids the test for the common case. + Clean up and fix calculations for TLS relocs. + + * sysdeps/powerpc/powerpc64/dl-tls.h: Moved to ... + * sysdeps/powerpc/dl-tls.h: ... here. + (TLS_TP_OFFSET): New macro. + + * sunrpc/svc_udp.c (svcudp_recv): Add a cast to last change. + +2003-02-27 Ulrich Drepper + + * sysdeps/i386/fpu/libm-test-ulps: Increase ULPs for yn due to + code generation changes in recent gcc. + +2003-02-26 Steven Munroe + + * sysdeps/powerpc/fpu/fpu_control.h (_FPU_GETCW, _FPU_SETCW): + Rename argument to avoid symbol conflict. + + * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h + [__USE_GNU] (O_DIRECT): New macro. + +2003-02-24 David Mosberger + + * sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Fix + unwind info. + +2003-02-27 Ulrich Drepper + + * resolv/res_libc.c [USE___THREAD] (_res): Don't need the + initializer anymore now that res_thread_freeres is more careful. + + * sunrpc/svc_udp.c (svcudp_recv): Remove all control messages + except the PKTINFO. Reset interface in PKTINFO. + Patch by Neil Brown [PR libc/4973]. + +2003-02-25 Steven Munroe + + * elf/elf.h: Add new R_PPC64_* relocs for TLS. + * elf/tls-macros.h [__powerpc64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD): + Define. + * sysdeps/powerpc/powerpc64/elf/configure.in: New file. + * sysdeps/powerpc/powerpc64/elf/configure: New file (generated). + * sysdeps/powerpc/powerpc64/dl-machine.h: Support new TLS relocs. + * sysdeps/powerpc/powerpc64/dl-tls.h: New file. + + * sysdeps/powerpc/elf/libc-start.c (__libc_start_main): + Do DL_SYSDEP_OSCHECK here, matching 2002-12-01 change to generic file. + +2003-02-25 Andreas Jaeger + + * manual/memory.texi (Malloc Tunable Parameters): Clarify + behaviour of M_MMAP_THRESHOLD. + +2003-02-25 Roland McGrath + + * resolv/res_init.c (res_thread_freeres): Bail out if _res.nscount is + zero, inidicating _res was not initialized yet. + +2003-02-24 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Remove EACCES + test. + +2003-02-24 Roland McGrath + + * sysdeps/posix/pause.c: Add LIBC_CANCEL_HANDLED. + +2003-02-23 Roland McGrath + + * sysdeps/posix/pause.c: New file. + * sysdeps/unix/common/pause.c: File removed. + +2003-02-23 Ulrich Drepper + + * sysdeps/generic/bits/confname.h: Remove #ifs. + + * posix/Makefile (CFLAGS-regex.c): Remove RE_ENABLE_I18N definition. + * posix/regex_internal.h (RE_ENABLE_I18N): Pretty printing. + + * resolv/res_libc.c [USE___THREAD] (_res): Initialize _vcsock + element to -1. + +2003-02-22 Ulrich Drepper + + * sysdeps/generic/dl-sysdep.c: Avoid warning. + +2003-02-22 Roland McGrath + + * resolv/tst-leaks.c: New file by Daniel Jacobowitz . + * resolv/Makefile (tests): Add tst-leaks. + ($(objpfx)tst-leaks): Depend on $(objpfx)libresolv.so. + (tst-leaks-ENV): New variable. + ($(objpfx)mtrace-tst-leaks): New target. + (tests): Depend on it. + + * include/libc-internal.h: Declare __libc_thread_freeres. + + * Makerules: Fix last change to use $($(subdir)-version) when set. + + * Makerules (install-lib-nosubdir): Depend on installed + libfoo-X.Y.Z.so and libfoo.so.NN files so they are installed + regardless of the libfoo.so target's dependencies. + + * MakeTAGS (sub-make-vars): New variable, includes generating=t. + Use that in $(MAKE) calls. + +2003-02-22 Ulrich Drepper + + * catgets/gencat.c (read_input_file): Collision between + auto-assigned numbers and user-defined nubmers is not fatal. + Handle it. + Patch by Michael M. Lampkin . + * catgets/Makefile: Add rules to run test2.msg test. + * catgets/test2.msg: New file. + + * catgets/gencat.c (main): Return 1 if messages have been printed. + + * iconv/iconv_prog.c (main): Unify messages. + + * stdlib/strtod.c (INTERNAL): Remove bogus clearing of second word + when shifting retval. + * stdlib/tst-strtod.c (main): Add strtold test case. + Reported by Fred J. Tydeman . + +2003-02-21 Roland McGrath + + * malloc/thread-freeres.c: Conditionalize on _LIBC_REENTRANT. + * sunrpc/rpc_thread.c: Likewise for text_set_element use. + (__rpc_thread_destroy): Add it to __libc_subfreeres too. + + * include/resolv.h: Add libc_hidden_proto for __res_nclose. + * resolv/res_init.c (__res_nclose): Add libc_hidden_def. + (res_thread_freeres): New function, on __libc_thread_subfreeres and + __libc_subfreeres. + + * malloc/Versions (libc: GLIBC_PRIVATE): Add __libc_thread_freeres. + * malloc/thread-freeres.c: New file. + * malloc/Makefile (aux): Add it. + * sunrpc/Versions (libc: GLIBC_PRIVATE): Removed. + * sunrpc/rpc_thread.c (__rpc_thread_destroy): Put in special section + "__libc_thread_freeres_fn" and add to __libc_thread_subfreeres set. + + * sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Typo fix. + * sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Typo fix. + +2003-02-21 Roland McGrath + + * sysdeps/mach/hurd/opendir.c (__opendir): Use O_NONBLOCK in open. + + * iconvdata/Makefile (tests): Add bug-iconv3 only if + [$(have-thread-library) = yes]. + +2003-02-21 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/signum.h (__SIGRTMAX): Define as _NSIG. + + * sysdeps/unix/sysv/linux/i386/getuid.c: Use INTERNAL_SYSCALL and do + not chechk for errors (unless testing for 32bit variant). + * sysdeps/unix/sysv/linux/i386/getgid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/geteuid.c: Likewise. + * sysdeps/unix/sysv/linux/i386/getegid.c: Likewise. + +2003-02-21 Jakub Jelinek + + * sysdeps/x86_64/dl-machine.h (elf_machine_rela) : + Check for signed overflow, not unsigned. + + * sysdeps/sparc/sparc64/elf/configure.in: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile (sysdep-CFLAGS): + Use -fcall-used-g6, not -fcall-used-g7. + +2003-02-21 Andreas Jaeger + + * sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Fix setting of default + mode. + + * sysdeps/x86_64/fpu/fsetexcptflg.c (fesetexceptflag): Do not + clear whole mxcsr but only exceptions. + +2003-02-21 Roland McGrath + + * Makerules: Filter $(install-lib-ldscripts) out of list of targets + for libfoo.so that need $(make-link) rules. + +2003-02-21 Roland McGrath + + * sysdeps/mach/hurd/bits/typesizes.h (__DEV_T_TYPE): Use __U32_TYPE + to match existing struct stat layout in mig protocols. + +2003-02-20 Ulrich Drepper + + * version.h (VERSION): Bump to 2.3.2. + + * elf/Makefile (distribute): Add reldep9.c, tst-array1.exp, + tst-array2.exp, tst-array4.exp, tst-array2dep.c, check-textrel.c, + and dl-sysdep.h. + * sysdeps/generic/Dist: Add sysdep-cancel.h. + * sysdeps/powerpc/nofpu/Dist: Add soft-supp.h. + * sysdeps/unix/Dist: Add s-proto-bp.S and s-proto-cancel.S. + * sysdeps/unix/sysv/linux/Dist: Add pathconf.h. + * sysdeps/unix/sysv/linux/i386/Dist: Add bp-thunk.h. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: Add fe_nomask.c and + ucontext_i.h. + * Makefile (distribute): Add include/stubs-prologue.h, + include/gnu/stubs.h, scripts/merge-abilist.awk, and + scripts/extract-abilist.awk. + +2003-02-20 Roland McGrath + + * math/Makefile (distribute): Don't add generated files. + +2003-02-20 Ulrich Drepper + + * math/Makefile: Rearrange variable definitions slightly to get + definition in the right order. + +2003-02-20 Roland McGrath + + * Makerules: Clean up conditional around include of tls.make. + * Make-dist: Export generating=t to prevent using that. + (+distinfo): Likewise for $(shell $(MAKE) ...) runs. + +2003-02-20 Ulrich Drepper + + * inet/rcmd.c (rresvport_af): Avoid using invliad values. Wrap + around in search if port IPPORT_RESERVED/2 has been test. + +2003-02-20 Paolo Bonzini + + * posix/regcomp.c: Remove inclusions. + * posix/regexec.c: Likewise. + * posix/regex_internal.c: Likewise. + * posix/regex_internal.h: Add inclusions here. + * posix/regex.c: Only include sys/types.h before regex.h. Include + regex_internal.h here. Include regex_internal.c before regcomp.c + and regexec.c (might expose more opportunities to the C compiler). + + * posix/regcomp.c (parse_expression): Fix construct rejected by SGI CC. + + * posix/regex_internal.h [!_LIBC] (__mempcpy): Fix typo. + [!_LIBC] (__wcrtomb): New definition. + [!_LIBC]: Conditionalize enabling of I18N on HAVE_WCSCOLL and + HAVE_LOCALE_H as well. + +2003-02-20 Ulrich Drepper + + * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Remove obsolete + patch to check for system call errors. + +2002-07-24 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Yield ENODEV + on unknown systems. + +2003-02-20 Franz Sirl + + * sysdeps/powerpc/powerpc32/atomicity.h: Remove compiler workaround. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_NEW_PRCTL_SYSCALL): Defined for ppc32 too. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: Use prctl + if possible. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Avoid short + interprocedure branches. + * sysdeps/powerpc/soft-fp/Dist (sim-full.c, fenv_const.c): Move to... + * sysdeps/powerpc/nofpu/Dist: ...here. + * sysdeps/unix/sysv/linux/powerpc/Dist (fe_nomask.c): Move to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: ...here. + * sysdeps/unix/sysv/linux/s390/s390-64/Dist (kernel_stat.h): Delete. + * sysdeps/unix/sysv/linux/sparc/Dist (bits/utmpx.h): Delete. + * sysdeps/unix/sysv/linux/x86_64/Dist (bits/utmpx.h): Delete. + +2003-02-18 Alan Modra + + * sysdeps/powerpc/powerpc32/sysdep.h (HIDDEN_JUMPTARGET): Redefine. + +2003-02-20 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/sysdep.h (INLINE_SYSCALL): Add + missing arguments to INTERNAL_SYSCALL_ERROR_P and + INTERNAL_SYSCALL_ERRNO. + +2003-02-20 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__real_chown): Test + for __ASSUME_32BITUIDS. + +2003-02-20 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/bits/mman.h: Add MADV_* and + POSIX_MADV_* constants. + +2003-02-20 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/pread.c: New file. + * sysdeps/unix/sysv/linux/sh/pread64.c: New file. + * sysdeps/unix/sysv/linux/sh/pwrite.c: New file. + * sysdeps/unix/sysv/linux/sh/pwrite64.c: New file. + +2003-02-19 Jiro Sekiba + + * iconvdata/utf-16.c (gconv_end): Fix range of low surrogate. + +2003-02-16 Roland McGrath + + * signal/signal.h: Include , not . + +2003-02-19 Ulrich Drepper + + * stdlib/strtod.c (INTERNAL): Up the safety margin for cutting off + decimal input digits. + * stdlib/tst-strtod.c (main): Add test for strtof bug. + +2003-02-18 Ulrich Drepper + + * sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Recognize + invalid file descriptors and missing access permissions. + +2003-02-17 Ulrich Drepper + + * nss/getXXbyYY_r.c (REENTRANT_NAME): Return 0 if no entry has + been found. + + * sysdeps/posix/sysconf.c (__sysconf): Test for LOGIN_NAME_MAX and + TTY_NAME_MAX and not the _POSIX_* minimal value macros. + * sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX + and LOGIN_NAME_MAX. + +2003-02-17 Kevin B. Hendricks + Franz Sirl + + * sysdeps/powerpc/elf/libc-start.c: Handle NONTLS_INIT_TP. + * sysdeps/powerpc/powerpc32/__longjmp.S: Remove R2 handling. + * sysdeps/powerpc/powerpc32/setjmp.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: Likewise. + * sysdeps/powerpc/powerpc32/fpu/setjmp.S: Likewise. + +2003-02-17 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Delete. + * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Delete. + * sysdeps/unix/sysv/linux/powerpc/pread64.c: Delete. + * sysdeps/unix/sysv/linux/powerpc/pread.c: Delete. + * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Delete. + * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Delete. + + * sysdeps/unix/sysv/linux/powerpc/fe_nomask.c: Move file... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fe_nomask.c: ...here. + * sysdeps/unix/sysv/linux/powerpc/glob64.c: Move file... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here. + + * sysdeps/unix/sysv/linux/tcgetattr.c: Use INLINE_SYSCALL. + * sysdeps/unix/sysv/linux/tcsetattr.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Delete. + * sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Delete. + +2003-02-14 Thorsten Kukuk + + * nss/getent.c (print_hosts): Print all IP addresses of one host. + +2003-02-15 Roland McGrath + + * sysdeps/mach/hurd/tls.h: New file. + * sysdeps/mach/hurd/i386/tls.h: New file. + + * mach/errsystems.awk: Include in generated output. + + * sysdeps/mach/Makefile (mach-before-compile rule): Pass generating=t, + use target mach-before-compile instead of generated. + (mach-before-compile): New target. + * Makerules: Disable use of tls.make if $(generating) is set. + * mach/Makefile: Include mach-syscalls.mk even if no_deps=t. + * sysdeps/mach/hurd/Makefile: Make generated hurd headers depend on + mach-shortcuts.h so mach/ generation happens before hurd/. + +2003-02-14 Ulrich Drepper + + * sysdeps/i386/fpu/s_nextafterl.c: Decrement high word of mantissa + of demorm correctly if low word is zero. + Reported by Fred J. Tydeman . + * math/libm-test.inc (nextafter_test): New test, but disabled due + to gcc bug. + + * sysdeps/generic/libc-start.c [HAVE_PTR_NTHREADS]: Decrement thread + counter and only call __exit_thread if this is not the last thread. + +2003-02-13 Jakub Jelinek + + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Add instead of + subtracting map->l_tls_offset. + +2003-02-12 Ulrich Drepper + + * sysdeps/generic/bits/confname.h: Define _CS_GNU_LIBC_VERSION and + _CS_GNU_LIBPTHREAD_VERSION. + * posix/conststr.c: Handle these new values. + * posix/getconf.c: Likewise. + + * sysdeps/mips/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE): Fix + masking of version index. + Patch by Lance Larsh . + +2003-02-11 Ulrich Drepper + + * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Compute alignment + correctly. Reported by Thorsten Kukuk. + +2003-02-10 Ulrich Drepper + + * elf/Makefile (check-textrel-CFLAGS): Pass _XOPEN_SOURCE and + _BSD_SOURCE to compiler. + * elf/check-textrel.c (SWAP): Add parenthesis to avoid warnings. + Patches by Alan Modra. + +2003-02-08 Ulrich Drepper + + * io/ftwtest.c: Get current working directory before and after the + nftw call and make sure they match. + +2003-02-08 Jim Meyering + + * io/ftw.c (ftw_startup): When using FTW_CHDIR, always remember + the current directory, not just when DIR contains a slash. + Reported by Manoj Srivastava. + +2003-02-07 Jim Meyering + + * io/ftw.c: Add autoconf-recommended block of alloca-related code. + Include autoconf-recommended block of dirent/NAMELEN-related + definitions and includes. Use NAMELEN throughout, rather than + _D_EXACT_NAMLEN. + [_LIBC]: Define NAMELEN to _D_EXACT_NAMLEN. + [!_LIBC] (__getcwd): Define to xgetcwd and declare xgetcwd. + (stpcpy): Declare, if necessary. + (mempcpy): Define, if necessary. + [!_LIBC] (__stpcpy, __mempcpy): Define. + [!_LIBC] (LXSTAT, XSTAT): Define. + (lstat) [!LIBC && !LSTAT_FOLLOWS_SLASHED_SYMLINK]: Define to rpl_lstat. + (find_object): Don't use c99-style struct initializer. + Tweak wording in a couple comments. + +2003-02-07 Kaz Kojima + + * elf/tls-macros.h: Add non-PIC TLS macros and fix clobber list + for SH. + * sysdeps/unix/sysv/linux/sh/brk.c: Add SYSCALL_INST_PAD + after the trapa instruction. + * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Add additional + parameters. + * sysdeps/unix/sysv/linux/sh/sh4/sysdep.h: New file. + (NEED_SYSCALL_INST_PAD): Define. + * sysdeps/unix/sysv/linux/sh/sys/user.h (start_thread): Undef to + avoid to use definition for the kernel. + * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): + Save and restore the frame pointer. + (SYSCALL_INST_PAD): Define. + (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL. + (INTERNAL_SYSCALL): Make use of ERR parameter. Add SYSCALL_INST_PAD + after trapa instruction. + (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO, + INTERNAL_SYSCALL_ERROR_P): Adjust accordingly. + +2003-02-07 Jakub Jelinek + + * resolv/res_libc.c (_res): Ensure _res is not common symbol, + so that it can have aliases. + * inet/herrno.c (h_errno): Put it into .bss not .data section. + +2003-02-07 Ulrich Drepper + + * elf/dl-runtime.c (fixup): Correct typo in version index computation. + (profile_fixup): Likewise. + Patch by Lance Larsh . + +2002-11-24 Robert Love + + * posix/sched.h: Second parameter of sched_setaffinity and + sched_getaffinity is `unsigned int', not `unsigned long'. + * sysdeps/generic/sched_setaffinity.c: Likewise. + * sysdeps/generic/sched_getaffinity.c: Likewise. + +2003-02-05 Ulrich Drepper + + * debug/catchsegv.sh: Fix typo in error messsage. + Reported by John Levon . + + * sysdeps/unix/sysv/linux/posix_fadvise.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Add posix_fadvise64 syscall. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + + * libio/putwc_u.c: Use _IO_putwc_unlocked, not _IO_putc_unlocked. + Patch by Moritz Schulte . + +2003-02-05 Jim Meyering + + Fix a heap-corrupting bug. + * io/ftw.c: Include . + (PATH_MAX) [!defined PATH_MAX]: Define to 1024. + (process_entry): Allocate enough space to hold the resulting + file name. Don't presume that 2*dirbufsize is enough. + (ftw_startup): Always use PATH_MAX to compute buffer size, now that + it is guaranteed to be defined. + +2003-02-04 Ulrich Drepper + + * iconvdata/Makefile: Add rules to build and run bug-iconv3. + * iconvdata/bug-iconv3.c: New file. + +2003-02-04 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/system.c: New file. + +2003-02-03 Jakub Jelinek + + * sysdeps/sparc/sparc32/elf/configure.in (BROKEN_SPARC_WDISP22): New + check. + * config.h.in (BROKEN_SPARC_WDISP22): Add. + +2003-02-03 Ulrich Drepper + + * sysdeps/i386/i686/memmove.S: New file. + +2003-01-31 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: + Include kernel-features.h + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise. + +2003-02-02 Jakub Jelinek + + * elf/tls-macros.h [sparc] (TLS_LD, TLS_GD): Add "cc" clobbers. + +2003-01-25 Jim Meyering + + * io/ftw.c (object_compare): Compare inode numbers before device + numbers, since the former are much more likely to differ. + +2003-02-01 Ulrich Drepper + + * time/tzfile.c (__tzfile_compute): Change return value type to + void. Adjust return statements. + * include/time.h (__tzfile_compute): Adjust prototype. + +2003-02-01 Jim Meyering + + * time/tzset.c (__tz_convert): Remove dead code; __tzfile_compute + always returns 1. + +2003-01-31 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c + [!__ASSUME_NEW_PRCTL_SYSCALL]: Noop prctl syscall and set ENOSYS. + +2003-01-31 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S + [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Generate ENOSYS stub. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S + [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S + [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S + [!__ASSUME_NEW_RT_SIGRETURN_SYSCALL]: Likewise. + +2003-01-31 Steven Munroe + + * sysdeps/unix/sysv/linux/configure.in: Change arch_minimum_kernel + back to 2.4.19 for powerpc64. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_NEW_PRCTL_SYSCALL): Define for powerpc64. + (__ASSUME_NEW_RT_SIGRETURN_SYSCALL): Define for powerpc64. + +2003-02-01 Ulrich Drepper + + * wcsmbs/wcscpy.c (wcscpy): Add alternative implementation for + platforms with strange alignment requirements on wchar_t. + +2003-01-31 Andreas Schwab + + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove __GI_* + aliases, already added by make-syscalls.sh. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Likewise. + * sysdeps/unix/inet/syscalls.list: Likewise. + * sysdeps/unix/syscalls.list: Likewise. + +2003-01-31 Andreas Schwab + + * sysdeps/m68k/Makefile (sysdep-CFLAGS): Don't define, not needed + any more. + +2003-01-30 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Use lg, + not l to load tls from stack. + +2003-01-30 Roland McGrath + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Move check for + null argument before all else. + Reported by Martin Schwidefsky . + +2003-01-30 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/dl-machine.h (elf_machine_lazy_rel): + Move to RESOLVE protected part of the header. + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_lazy_rel): + Likewise. + +2003-01-30 Ulrich Drepper + + * stdio-common/Makefile (tests): Add bug15. + (bug15-ENV): Define. + * stdio-common/bug15.c: New file. + +2002-10-07 Wolfram Gloger + + * malloc/malloc.c (sYSMALLOc): Only check for breakage due + to foreign sbrk()'s if arena is contiguous. Bug report from + Bruno Haible . + +2003-01-30 Jakub Jelinek + + * sysdeps/s390/libc-tls.c: Include stdlib.h. + +2003-01-30 Jakub Jelinek + + * stdio-common/vfprintf.c (vfprintf): Only subtract lowest 3 bits of + ps.__count. + +2003-01-30 Ulrich Drepper + + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Fix storing and + restoring of %r6. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise. Use + 64-bit load. + Patch by Martin Schwidefsky . + +2003-01-30 Jakub Jelinek + + * elf/dl-reloc.c (CHECK_STATIC_TLS): Move _dl_signal_error... + (allocate_static_tls): ...here. Add __attribute_noinline__. + Don't return on failure. + (_dl_reloc_bad_type): Add __attribute_noinline__. + * elf/do-rel.h (elf_dynamic_do_rel): Add + __attribute__((always_inline)). + * elf/dynamic-link.h (elf_machine_rel, elf_machine_rela, + elf_machine_rel_relative, elf_machine_rela_relative, + elf_machine_lazy_rel): Add prototypes with + __attribute__((always_inline)). + +2003-01-29 David Mosberger + + * elf/dl-support.c (_dl_aux_init): Handle AT_SYSINFO. + +2003-01-29 Roland McGrath + + * configure.in: Barf if configured in $srcdir. + +2003-01-28 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c + (__fe_nomask_env): Change __prctl call to INTERNAL_SYSCALL. + +2003-01-28 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Reorder additional + clone parameters to match the order used on ia32. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise. + +2003-01-27 Martin Schwidefsky + + * elf/elf.h: Add new s390 relocs. + * elf/tls-macros.h: Add s390 versions. + * sysdeps/s390/Versions [GLIBC_2.3] (ld): Export __tls_get_offset. + * sysdeps/s390/dl-tls.h: New file. + * sysdeps/s390/libc-tls.c: New file. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_type_class): Add TLS + relocs for class PLT. + (elf_machine_rela): Handle TLS relocs. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/elf/configure.in: Add TLS check. + * sysdeps/s390/s390-64/elf/configure.in: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S: Add support for + CLONE_CHILD_*TID flags. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S: Use branch with 32 + bit offset. + * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscall.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S (__syscall_error): + Support USE___THREAD. Define RTLD_PRIVATE_ERRNO variant. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S (__syscall_error): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: + (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. + (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO + variants. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: + (SYSCALL_ERROR_LABEL): Move define next to SYSCALL_ERROR_HANDLER. Use + direct branch to syscall_error for !PIC and PIC && !_LIBC_REENTRANT. + (SYSCALL_ERROR_HANDLER): Add USE___THREAD and RTLD_PRIVATE_ERRNO + variants. + +2003-01-28 Ulrich Drepper + + * sysdeps/unix/common/pause.c (do_pause): New function. Split + from __libc_pause. Implement using sigsuspend. + (__libc_pause): Call do_pause to do the real work. + + * sysdeps/posix/sigpause.c (do_sigpause): Check range of + sig_or_mask parameter is is_sig != 0. + +2003-01-21 Philip Blundell + + * sysdeps/unix/sysv/linux/bits/ioctls.h (SIOCSIFNAME): Define. + +2003-01-27 Steven Munroe + + * stdio-common/Makefile: Add bug14-ENV to set LOCPATH for make check. + +2003-01-27 Ulrich Drepper + + * stdio-common/bug14.c: Use official name for the locale. + + * stdio-common/vfprintf.c [USE_IN_LIBIO]: Use _IO_cleanup_region_start + instead of __libc_cleanup_region_start and _IO_cleanup_region_end + instead of __libc_cleanup_region_end. + + * sysdeps/unix/sysv/linux/i386/system.c (CLEANUP_HANDLER): Pass 1 + as first parameter to __libc_cleanup_region_start. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c + (__fe_nomask_env): Use __prctl not prctl. + * sysdeps/unix/sysv/linux/syscalls.list: Add __prctl alias for + prctl syscall. + + * elf/dl-reloc.c (CHECK_STATIC_TLS): Improve error message. + + * elf/dl-open.c (_dl_tls_static_size): Bump to 2048. + + * elf/dl-reloc.c (allocate_static_tls): Avoid arithmetic + wrap-around in test. + +2003-01-26 Andreas Schwab + + * sysdeps/wordsize-32/divdi3.c: Export the functions only as + compatibility symbols. Remove INTDEF for __divdi3. + * sysdeps/wordsize-32/lldiv.c: Don't use __divdi3_internal. + * sysdeps/powerpc/powerpc32/divdi3.c: Remove. + * sysdeps/powerpc/powerpc32/Makefile (CPPFLAGS-divdi3.c): Don't + define. + * sysdeps/powerpc/powerpc32/Dist: Remove divdi3.c. + +2003-01-24 Jakub Jelinek + + * elf/tls-macros.h: Add SPARC 32-bit definitions. + * sysdeps/sparc/sparc32/elf/configure.in: Add TLS check. + * sysdeps/sparc/sparc32/dl-machine.h: Add dl_machine_h guards + for the first half of the header. Include tls.h. + (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS + relocs too. + (elf_machine_rela): Handle TLS relocs. + * sysdeps/sparc/dl-tls.h: New file. + + * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Add cancellation + support. + + * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Use %g6 instead of %g7. + * sysdeps/sparc/sparc32/memchr.S: Likewise. + * sysdeps/sparc/sparc32/memcpy.S: Likewise. + * sysdeps/sparc/sparc32/strcat.S: Likewise. + * sysdeps/sparc/sparc32/strchr.S: Likewise. + * sysdeps/sparc/sparc32/strcmp.S: Likewise. + * sysdeps/sparc/sparc32/strcpy.S: Likewise. + * sysdeps/sparc/sparc64/sparcv9b/memcpy.S: Likewise. + * sysdeps/sparc/sparc64/hp-timing.h: Likewise. + * sysdeps/sparc/sparc64/memcpy.S: Likewise. + * sysdeps/sparc/sparc64/stpcpy.S: Likewise. + * sysdeps/sparc/sparc64/stpncpy.S: Likewise. + * sysdeps/sparc/sparc64/strcat.S: Likewise. + * sysdeps/sparc/sparc64/strchr.S: Likewise. + * sysdeps/sparc/sparc64/strcmp.S: Likewise. + * sysdeps/sparc/sparc64/strcpy.S: Likewise. + * sysdeps/sparc/sparc64/strncmp.S: Likewise. + * sysdeps/sparc/sparc64/strncpy.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. + +2003-01-24 Andreas Schwab + + * elf/dl-close.c (_dl_close): Don't relocate DT_FINI_ARRAY + elements, and process them backwards. + * elf/Makefile ($(objpfx)tst-array4): New target. + ($(objpfx)tst-array4.out): Likewise. + (tests) [$(have-initfini-array) = yes]: Add tst-array4. + * elf/tst-array4.c: New file. + * elf/tst-array4.exp: Likewise. + +2003-01-24 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: New file. + +2003-01-27 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/sysdep.h (SYSCALL_ERROR_LABEL): Define. + * sysdeps/unix/sysv/linux/mips/pread.c: Add support for + cancellation handling and handle both __NR_pread64 and __NR_pread. + * sysdeps/unix/sysv/linux/mips/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite.c: Add support for + cancellation handling and handle both __NR_pwrite64 and __NR_pwrite. + * sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise. + * sysdeps/unix/mips/sysdep.S: Don't set errno in the _LIBC_REENTRANT + case, use register names consistently. + +2003-01-27 Wolfram Gloger + + * malloc/hooks.c (mem2chunk_check): Check alignment of mem + pointer, not of the computed chunk. Bug report from Carlos + O'Donell . + +2003-01-25 Andreas Schwab + + * sysdeps/m68k/dl-machine.h (_dl_start_user): Use pc-relative + addressing to save GOT entries. + +2003-01-21 Jakub Jelinek + + * sysdeps/unix/alpha/sysdep.h (inline_syscall0, + inline_syscall1, inline_syscall2, inline_syscall3, + inline_syscall4, inline_syscall5, inline_syscall6): Add __volatile__. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (INTERNAL_SYSCALL): Add + __attribute__((unused)) to ChEcK. + +2003-01-20 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL): + Fix inline assembler constraints. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL): + Likewise. + + * sysdeps/s390/s390-64/Makefile (pic-ccflag): Use -fpic instead of + -fPIC. + +2003-01-20 Segher Boessenkool + + * sysdeps/ieee754/dbl-64/sincos32.c (__mpcos): Really + compute the cosine, not the sine, even if x > 0.8. + +2003-01-19 Ulrich Drepper + + * nis/nss_nis/nis-spwd.c: Make _nss_nis_endspent an alias of + _nss_nis_setspent. Work around the different prototypes. + * nis/nss_nis/nis-rpc.c (internal_nis_setrpcent): Use + internal_nis_endrpcent. + (internal_nis_endrpcent): Change return type to void. Change callers. + * nis/nss_nis/nis-pwd.c: Make _nss_nis_endpwent an alias of + _nss_nis_setpwent. Work around the different prototypes. + * nis/nss_nis/nis-proto.c (_nss_nis_endprotoent): Split out body + of the function to... + (internal_nis_endprotoent): ... here. New function. + (internal_nis_setprotoent): Use internal_nis_endprotoent. + * nis/nss_nis/nis-network.c: Make _nss_nis_endnetent an alias of + _nss_nis_setnetent. Work around the different prototypes. + * nis/nss_nis/nis-netgrp.c (_nss_nis_endnetgrent): Split out body + of the function to... + (internal_nis_endnetgrent): ... here. New function. + (_nss_nis_setnetgrent): Use internal_nis_endnetgrent. + +2003-01-19 Jim Meyering + + * time/strftime.c: (widen): Merge nearly-identical definitions. + (nl_get_alt_digit) [! defined my_strftime]: Define. + (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of + _nl_get_alt_digit and _nl_get_walt_digit. + +2003-01-19 Ulrich Drepper + + * time/strftime.c (my_strftime): Handle very large width + specifications for numeric values correctly. Improve checks for + overflow. + * time/Makefile (tests): Add tst-strftime. + * time/tst-strftime.c: New file. + +2003-01-18 Ulrich Drepper + + * nis/nss_nis/nis-hosts.c: Make _nss_nis_endhostent an alias of + _nss_nis_sethostent. Work around the different prototypes. + * nis/nss_nis/nis-grp.c: Make _nss_nis_endgrent an alias of + _nss_nis_setgrent. Work around the different prototypes. + * nis/nss_nis/nis-ethers.c (internal_nis_endetherent): New + function. Split out from _nss_nis_endetherent. + (internal_nis_setetherent): Use internal_nis_endetherent instead of + duplicating the code. + * nis/nss_nis/nis-alias.c: Make _nss_nss_nis_endaliasent an alias + of _nss_nis_setaliasent. + * nis/nss_nis/nis-service.c (internal_nis_setservent): Reuse + internal_nis_endservent code, don't duplicate it. + + * inet/rexec.c (rexec_af): Protect socket operations with + TEMP_FAILURE_RETRY. Use writev instead of multiple write. + * inet/rcmd.c (rcmd_af): Likewise. + +2003-01-17 Roland McGrath + + * math/libm-test.inc (sin_test, cos_test, sincos_test) [TEST_DOUBLE]: + Add test of value 0.80190127184058835. + + * elf/dl-open.c: Fix typo ifdef -> ifndef on _dl_tls_static_size defn. + +2003-01-17 Richard Henderson + + * sysdeps/alpha/dl-machine.h (elf_machine_type_class): Add TLS + relocs for class PLT. + * sysdeps/alpha/libc-tls.c: New file. + * sysdeps/unix/alpha/sysdep.S (EPILOGUE, GPSAVEREG): New. + (LOADGP) [!PIC]: Rewrite to preserve caller's gp. + +2003-01-17 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/dl-static.c (_dl_static_init): Use + __libc_lock_{,un}lock_recursive instead of __libc_lock_{,un}lock + on _dl_static_lock. + +2003-01-17 Andreas Jaeger + + * stdio-common/bug14.c: Include stdlib.h for exit prototype. + +2003-01-16 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/ucontext_i.h: New file. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/configure.in: Minimum kernel for PPC64 + is 2.4.21. + +2003-01-16 Ulrich Drepper + + * sysdeps/generic/glob.c (glob): Assume sysconf() always returns + values != -1 for _LIBC. Use extend_alloca to reallocate alloca'ed + buffers. + + * sysdeps/generic/sysconf.c: Unconditionally implement + _SC_GETPW_R_SIZE_MAX and _SC_GETGR_R_SIZE_MAX. + * sysdeps/posix/sysconf.c: Likewise. + +2003-01-16 Jakub Jelinek + + * posix/regcomp.c (parse_bracket_exp): If build_charclass fails, + set *err to the returned error, not to REG_ESPACE unconditionally. + (build_word_op): Likewise. + * posix/Makefile (tests): Add bug-regex16. + * posix/bug-regex16.c: New test. + +2003-01-16 Jakub Jelinek + + * elf/dl-load.c (_dl_map_object_from_fd): Use + GL(dl_tls_dtv_slotinfo_list) != NULL to check whether TLS has + been already initialized. + +2003-01-15 Dmitry V. Levin + + * sysdeps/unix/sysv/linux/ptsname.c: Fix typo in comment. + +2003-01-16 Jakub Jelinek + + * posix/regcomp.c (re_compile_internal): If clearing buffer, clear + allocated too. Reported by Al Viro . + +2003-01-16 Roland McGrath + + Tweak merged .abilist file format to merge duplicate symbols in + different sets into multi-version stanzas with new "| SET regexp..." + header continuation lines. + * scripts/merge-abilist.awk: Rewritten for new format. + * scripts/extract-abilist.awk: Likewise. + +2003-01-15 Ulrich Drepper + + * nscd/connections.c (nscd_run): Remove bogus return which isn't + necessary with gcc 3.2+. + (nscd_init): Don't use error() to print message, use dbg_log. + + * iconv/gconv_simple.c (STORE_REST): Explicitly store the total + expected size into state. + (UNPACK_BYTES): Do the reverse. + * iconv/loop.c: Use CLEAR_STATE if defined to clear __state element. + * wcsmbs/tst-mbrtowc.c (utf8_test_1): Add test for the bug. + Reported by Al Viro . + + * stdio-common/Makefile (tests): Add bug14. + * stdio-common/bug14.c: New file. + + * stdio-common/vfscanf.c: When recognizing multibyte characters in + string reset the byte counter after mbrtowc reported it is not a + partial character. Reported by Al Viro . + +2003-01-15 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Include + sysdep-cancel.h, not sysdep.h. + +2003-01-15 Ulrich Drepper + + * nscd/connections.c (nscd_run): Protect accept call with + TEMP_FAILURE_RETRY. + +2003-01-15 Andreas Schwab + + * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-bp.d. + (common-generated): Add s-proto-bp.d. + * sysdeps/unix/make-syscalls.sh: Use s-proto-bp.d for dependencies + of bp thunks. + * sysdeps/unix/s-proto-bp.S: New file. + * sysdeps/generic/bp-thunks.h: Don't include here. + Use instead of . + * sysdeps/unix/sysv/linux/i386/bp-thunks.h: New file. + +2003-01-15 Roland McGrath + + * Makerules: Use -include for tls.make, suppresses warning. + Move gen-as-const-headers rules up so before-compile is set in time. + (sed-remove-dotdot): Fix to work right for subdirs or top dir. + +2003-01-15 Ulrich Drepper + + * nscd/nscd.c (main): Make code to close all file descriptors + faster and more robust. + + * nscd/nscd_getpw_r.c (nscd_getpw_r): Consolidate writing of the + request with one writev call. Protect all read calls with + TEMP_FAILURE_RETRY. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. + * nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise. + + * nscd/hstcache.c: Use extend_alloca to reallocate alloca'd buffer. + Protect writev calls with TEMP_FAILURE_RETRY. + * nscd/grpcache.c: Likewise. + * nscd/pwdcache.c: Likewise. + + * nscd/hstcache.c (addhstbynamev6): Don't interpret hostname as + IPv6 address in debug output. + +2003-01-14 Roland McGrath + + * Makerules (check-abi-%): Use two rules for $(common-objpfx) and + $(objpfx) directories, and get rid of vpath directives. The previous + arrangement resulted in files being written to the source directories + when run in a clean build. Find all .abilist files in $(..)abilist/. + (update-abi-%): Likewise. + (generated): Don't add .symlist files, they'll be intermediates. + + * sysdeps/generic/init-first.c: Add a comment. + + * elf/Makefile ($(objpfx)ld.so): Pass -z defs in link. + + * scripts/gen-as-const.awk: Grok lone "--" as a separator between + #includes and expressions. + + * scripts/merge-abilist.awk: Omit cpu-.*-os.*/modifier from merged + config list when it already contains cpu-.*-os.* without / part. + + * Makerules (sed-remove-dotdot): New variable. + ($(common-objpfx)%.make): Use it. Depend on $(before-compile). + ($(common-objpfx)%.h $(common-objpfx)%.h.d): Likewise. + (check-abi-config): New variable, append /tls or /notls to the tuple. + (check-abi-%): Use that for -v config value. + Find .abilist files in abilist/libfoo.abilist, not in subdir. + * Rules: Move bits/stdio_lim.h generation rules to Makerules. + +2003-01-14 Ulrich Drepper + + * manual/install.texi: Correct description of header preparation for + Linux build. Patch by mhwood@Ameritech.Net [PR libc/4941]. + +2003-01-14 Guido Guenther + + * sysdeps/unix/sysv/linux/mips/sysdep.h (INTERNAL_SYSCALL, + INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO, + INTERNAL_SYSCALL_ERROR_P, INLINE_SYSCALL): Define. + +2003-01-14 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h + (INTERNAL_SYSCALL): Make use of ERR parameter. + (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO, + INTERNAL_SYSCALL_ERROR_P): Adjust accordingly. + (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: New file. + +2003-01-14 Ulrich Drepper + + * sunrpc/pm_getport.c (pmap_getport): Open TCP socket if protocol + == IPPROTO_TCP. + Patch by James Strandboge [PR libc/4943]. + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.c (_dl_x86_cap_flags): + Fix entry for bit 31. + + * iconvdata/Makefile: Add rules to build IBM866NAV. + * iconvdata/ibm866nav.c: New file. + * iconvdata/tst-tables.sh: Add IBM866NAV. + * iconvdata/gconv-modules: Add entries for IBM866NAV. + +2003-01-13 Ulrich Drepper + + * string/tester.c (test_strcpy): Use the previously #if 0'ed code + to test void* parameters. + + * sysdeps/i386/i486/bits/string.h (__STRING_SMALLL_GET16): Cast + source pointer before dereferencing. + (__STRING_SMALLL_GET32): Likewise. + (__memset_gc): Add missing parenthesis around macro arguments. + Patch by Denis Zaitsev . + + * sysdeps/i386/i486/bits/string.h (__strspn_cg): Tell the compiler + that %eax is modified. Reported by Denis Zaitsev . + +2003-01-14 Jakub Jelinek + + * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL): Undefined before + defining. + +2003-01-13 Martin Schwidefsky + + * sysdeps/s390/s390-64/initfini.c: Avoid unterminated string literals. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (L): Don't define it + here. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (L): Likewise. + +2003-01-13 Martin Schwidefsky + + * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Move branch instructions + from here... + (PSEUDO): ... to here. + * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Move branch instruction + from here... + (PSEUDO): ... to here. + +2003-01-13 Ulrich Drepper + + * locale/programs/charmap-dir.c (charmap_readdir): Use struct + dirent64 instead of struct dirent for dirent. Call readdir64 + instead of readdir. + + * locale/programs/locfile.c (siblings_uncached): Use struct + dirent64 instead of struct dirent for other_dentry. Call + readdir64 instead of readdir. + + * elf/ldconfig.c (direntry): Change type to struct dirent64. + (search_dir): Use readdir64 instead of readdir. + Patch by Zhangfan Xing . + +2003-01-12 Roland McGrath + + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use strtoul, + not strtol. The former is usable in ld.so, the latter not. + + * include/fcntl.h: Declare __libc_creat. + + * sysdeps/mach/hurd/Makefile (libmachuser-link.so-no-z-defs, + libhurduser-link.so-no-z-defs): New variables. + + * malloc/malloc.c: Revert last change. + * malloc/malloc.h (_int_*): Move these decls to ... + * include/malloc.h: ... here. Add attribute_hidden. + (_int_valloc): Declare it too. + +2003-01-12 Ulrich Drepper + + * elf/dl-close.c (_dl_close): Fix typo, must be == not = in + search for removed searchlist. Reported by Roland McGrath. + + * io/ftwtest-sh: Add test for case of symlink to nonexisting file + given as start file. + + * io/ftw.c (ftw_startup): Use correct name in check for symlink + without existing target. Patch by Jim Meyering. + + * Makerules (build-shlib-helper): Don't use -z defs linker option + if no-z-defs is defined either. + +2003-01-10 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Remove unused + file. + +2003-01-10 Martin Schwidefsky + + * sysdeps/unix/sysv/linux/s390/s390-32/syscalls.list: Add vfork. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + +2003-01-12 Ulrich Drepper + + * io/ftwtest-sh: Add test case for relative path with /. at the end. + +2003-01-12 Jim Meyering + + * io/ftw.c (ftw_startup): When trying to stat the starting directory, + use the basename if we've already chdir'd into its parent directory. + +2003-01-12 Ulrich Drepper + + * io/ftw.c (process_entry): Use relative path when using chdir() + to change directory after call to ftw_dir. + * io/ftwtest-sh: Add test for relative path argument to nftw() + with FTW_CHDIR option. + +2003-01-12 Franz Sirl + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL): + Define for powerpc. + * sysdeps/unix/sysv/linux/powerpc/syscall.S: Take register alignment + into account. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (INTERNAL_SYSCALL): Make use of ERR parameter. + (INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO, + INTERNAL_SYSCALL_ERROR_P): Adjust accordingly. + (INLINE_SYSCALL): Make use of INTERNAL_SYSCALL. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: New file. + +2003-01-09 Richard Henderson + + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Compute + DTPREL64 and TPREL64 without loadbase applied. + +2003-01-09 Richard Henderson + + * sysdeps/unix/alpha/sysdep.S: Use correct definition of errno + for NOT_IN_libc. + + * sysdeps/unix/sysv/linux/alpha/sysdep.h: Move inline syscall bits... + * sysdeps/unix/alpha/sysdep.h: ... here. + (PSEUDO_LOADGP): Remove. + (PSEUDO_PROLOGUE): Load GP in non-pic case. + (SYSCALL_ERROR_LABEL): New. + (PSEUDO): Use it in error branch. + (PSEUDO_END): Add $syscall_error label. + +2003-01-12 Andreas Jaeger + + * math/bits/mathcalls.h: Round is a const function. + +2003-01-11 Jim Meyering + + * io/ftw.c [HAVE_CONFIG_H]: Include . + [HAVE_SYS_PARAM_H || _LIBC]: Guard inclusion of . + Include , not , if !_LIBC. + [!_LIBC] (__chdir, __closedir, __fchdir, __getcwd, __opendir): Define. + [!_LIBC] (__readdir64, __tdestroy, __tfind, __tsearch): Define. + [!_LIBC] (internal_function, dirent64, MAX): Define. + (__set_errno): Define if not already defined. + (open_dir_stream): When FTW_CHDIR is enabled, invoke opendir on + the basename, not the entire file name. + (process_entry): When FTW_CHDIR is enabled, invoke XSTAT or LXSTAT on + the basename, not the entire file name. + +2003-01-12 Ulrich Drepper + + * string/tester.c (test_strcpy): Disable last added strcpy until + it is fixed. + +2003-01-11 Philip Blundell + + * sysdeps/unix/sysv/linux/arm/socket.S: Add cancellation support. + +2003-01-11 Andreas Schwab + + * Makerules: Add vpath for %.dynsym and %.so so that the + implicit rule chaining for check-abi works. + +2003-01-11 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER): + Add non-PIC case. + +2003-01-11 Jakub Jelinek + + * elf/tls-macros.h [__ia64__] (__TLS_CALL_CLOBBERS): Define. + [__ia64__] (TLS_LE, TLS_IE): Fix typos. Add ;; at start of asm if + gp is used early. + [__ia64__] (TLS_LD, TLS_GD): Likewise. Use __TLS_CALL_CLOBBERS. + * elf/Makefile ($(objpfx)tst-tlsmod5.so, $(objpfx)tst-tlsmod6.so): + Ensure libc.so in DT_NEEDED. + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Move + CHECK_STATIC_TLS before l_tls_offset use. + * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): + Likewise. + * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage) [TLS_DTV_AT_TP]: + Allocate TLS_PRE_TCB_SIZE bytes below result. + (_dl_deallocate_tls) [TLS_DTV_AT_TP]: Adjust before freeing. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): If + TLS_INIT_TP_EXPENSIVE is not defined, allocate even if no PT_TLS + segment has been found. If TLS_DTV_AT_TP, allocate TLS_PRE_TCB_SIZE + bytes below result and add tcb_offset to memsz. + * sysdeps/ia64/dl-tls.h (__tls_get_addr): New prototype. + * sysdeps/ia64/dl-machine.h: Include tls.h. + (elf_machine_type_class): Return ELF_RTYPE_CLASS_PLT for TLS relocs + too. + (elf_machine_rela): Assume if sym_map != NULL sym is non-NULL too. + Handle R_IA64_DTPMOD*, R_IA64_DTPREL* and R_IA64_TPREL* relocations. + * sysdeps/ia64/libc-tls.c: New file. + +2003-01-10 Steven Munroe + + * sysdeps/powerpc/powerpc64/sysdep.h (PSEUDO_RET): Add branch hit. + * sysdeps/unix/sysv/linux/powerpc/bits/stat.h (STAT_VER_LINUX): + Fix type. Move definition out of #if. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Add cancellation + support. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Remove + ftruncate64, pread64, pwrite64, truncate64 entries. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h + (INLINE_SYSCALL): New version that supports function call like + syscalls. Add __builtin_expect. + (LOADARGS_n): Add argument size safety checks. + (INTERNAL_SYSCALL): New Macro. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [__PPC_ELF_H]: Avoid + redefinition of elf_fpreg_t and elf_fpregset_t. + +2003-01-12 Ulrich Drepper + + * elf/dl-close.c (_dl_close): Add several asserts. Correct and + simplify test for unloading. If loader of a DSO is unloaded do not + use its scope anymore. Fall back to own scope and adjust opencounts. + Fix several comments. + * elf/dl-deps.c (_dl_map_object_deps): Always allocate memory for + the l_searchlist, not only for l_initfini. + + * elf/dl-lookup.c (add_dependencies): Avoid creating relocation + dependencies if objects cannot be removed. Remove object with the + definition as not unloadable if necessary. + + * elf/reldep6.c: Create relocation dependency before closing the first + module. + +2003-01-10 Guido Günther + + * sysdeps/unix/mips/fork.S: Add PSEUDO_END. + * sysdeps/unix/mips/brk.S: Likewise. + * sysdeps/unix/mips/pipe.S: Likewise. + +2003-01-10 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/getsysstats.c: New file. + + * sysdeps/unix/sysv/linux/m68k/vfork.S: Optimize for kernels which + are known to have the vfork syscall. + + * sysdeps/m68k/sysdep.h (JUMPTARGET): Undefine before defining it. + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_MMAP2_SYSCALL, __ASSUME_TRUNCATE64_SYSCALL) + (__ASSUME_STAT64_SYSCALL, __ASSUME_FCNTL64) + (__ASSUME_VFORK_SYSCALL): Define for m68k kernels >= 2.4.12. + +2003-01-09 Jakub Jelinek + + * elf/Makefile: Add rules to build and run reldep9 test. + * elf/reldep9.c: New file. + * elf/reldep9mod1.c: New file. + * elf/reldep9mod2.c: New file. + * elf/reldep9mod3.c: New file. + +2003-01-09 Jakub Jelinek + + * elf/Makefile: Add rules to build and run nodelete2 test. + * elf/nodelete2.c: New file. + * elf/nodel2mod1.c: New file. + * elf/nodel2mod2.c: New file. + * elf/nodel2mod3.c: New file. + +2003-01-09 Jakub Jelinek + + * posix/test-vfork.c (noop): Add __attribute_noinline__. + * sysdeps/generic/sysdep.h (JUMPTARGET): Define if not defined. + * sysdeps/i386/sysdep.h (JUMPTARGET): Undefine JUMPTARGET before + defining it. + * sysdeps/powerpc/powerpc32/sysdep.h (JUMPTARGET): Likewise. + * sysdeps/powerpc/powerpc64/sysdep.h (JUMPTARGET): Likewise. + * sysdeps/s390/s390-32/sysdep.h (JUMPTARGET): Likewise. + * sysdeps/s390/s390-64/sysdep.h (JUMPTARGET): Likewise. + * sysdeps/x86_64/sysdep.h (JUMPTARGET): Likewise. + +2003-01-09 Andreas Schwab + + * sysdeps/m68k/fpu/libm-test-ulps: Regenerated. + +2003-01-08 Ulrich Drepper + + * sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL, + INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err + argument. + (INTERNAL_SYSCALL_DECL): Define. + +2003-01-06 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (INTERNAL_SYSCALL, + INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Add err + argument. + (INTERNAL_SYSCALL_DECL): Define. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. + (INLINE_SYSCALL): Adjust. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. + * elf/dl-misc.c (_dl_debug_vdprintf): Add INTERNAL_SYSCALL_DECL, + add err argument to INTERNAL_SYSCALL* macros. + * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Likewise. + * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Likewise. + * sysdeps/unix/sysv/linux/m68k/brk.c (__brk): Likewise. + * sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize): + Likewise. + * sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Use + INLINE_SYSCALL instead of INTERNAL_SYSCALL and setting errno. + +2003-01-07 Ulrich Drepper + + Unify symbols in user namespace exported by libc.so and libc.a. + * argp/argp-fmtstream.c: Don't define argp_make_fmtstream, + argp_fmtstream_free, and argp_fmtstream_printf. + * argp/argp-fs-xinl.c: Don't define argp_fmtstream_putc, + argp_fmtstream_puts, argp_fmtstream_write, argp_fmtstream_set_lmargin, + argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin, and + argp_fmtstream_point. + * gmon/gmon.c: Don't define write_profiling. + * libio/genops.c: Don't define _cleanup. + + * intl/explodename.c (_nl_find_language.c): Mark as static. + * intl/loadinfo.h: Remove _nl_find_language prototype. + + * libio/fileops.c (_IO_file_seekoff_maybe_mmap): Mark as static. + * libio/libioP.h: Remove declaration. + + * libio/iopopen.c (_IO_proc_jumps): Mark as static. + * libio/libioP.h: Remove declaration. + + * sysdeps/generic/unwind-dw2.c: Mark __frame_state_for with STATIC. + * sysdeps/generic/framestate.c: Define STATIC before including + unwind-dw2.c. + + * time/Versions [GLIBC_2.3.2] (libc): Export strptime_l. + +2003-01-06 Philip Blundell + + * sysdeps/unix/arm/sysdep.S (syscall_error): Optimise a little. + [__LIBC_REENTRANT]: Unify PIC and non-PIC cases. + + * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Remove .type + directive. + (PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error. + (SYSCALL_ERROR): New. + (SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error + handling code. + (INTERNAL_SYSCALL): Define. + (INLINE_SYSCALL): Use it. + (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define. + * sysdeps/unix/sysv/linux/arm/socket.S (__socket): Use + SYSCALL_ERROR in place of __syscall_error. + +2003-01-07 Jakub Jelinek + + * sysdeps/ia64/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16, + __bswap_32, __bswap_64): Put x into temporary variable + to avoid warnings. + [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static + (inline) functions. + * sysdeps/s390/bits/byteswap.h [__GNUC__ >= 2] (__bswap_16, + __bswap_32, __bswap_64): Put x into temporary variable + to avoid warnings. + [!__GNUC__] (__bswap_16, __bswap_32, __bswap_64): Change into static + (inline) functions. + * sysdeps/i386/bits/byteswap.h [!__GNUC__] (__bswap_16, __bswap_32): + Likewise. + +2003-01-07 Jakub Jelinek + + * sysdeps/unix/sysv/linux/alpha/adjtime.c (ntp_adjtime): New weak + alias. + +2003-01-07 Jakub Jelinek + + * elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer. + * elf/dl-support.c (_dl_dynamic_weak): Initialize to 0. + +2003-01-07 Ulrich Drepper + + * math/libm-test.inc (significand_test): New function. + (main): Call it. + +2003-01-06 Roland McGrath + + * sysdeps/i386/i486/bits/string.h (memset): Add parens around macro + arguments. + (memcpy, memrchr, strcpy, __stpcpy, strncpy, strcat): Likewise. + (strcmp, strncat, strncmp, strchr, __strchrnul, strchrnul): Likewise. + (index, strrchr, rindex, strcspn, strspn, strpbrk, strstr): Likewise. + + * string/tester.c (test_strcpy): Add test with `void *' arguments. + +2003-01-06 Ulrich Drepper + + * sysdeps/i386/fpu/s_significandl.c (__significandl): Really + return significand and not the exponent. + Reported by Nelson H. F. Beebe . + + * elf/dl-misc.c (_dl_debug_vdprintf): Help PPC port by explicitly + taking address of iov in INTERNAL_SYSCALL call. Patch by Franz Sirl. + + * malloc/malloc.c: Mark all _int_* functions as static. + +2003-01-06 Jakub Jelinek + + * sysdeps/unix/alpha/sysdep.h (PSEUDO): Use PSEUDO_PREPARE_ARGS. + * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Add cancellation + handling. + * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. + +2003-01-06 Franz Sirl + + * sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_RET): Add branch hint. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Add cancellation + support. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Remove + ftruncate64, truncate64, pread64 and pwrite64 entries. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (INLINE_SYSCALL): Add __builtin_expect. + (LOADARGS_n): Add argument size safety checks. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: New file. + +2003-01-06 Jakub Jelinek + + * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_HANDLED): Define. + * sysdeps/generic/creat.c: Include sysdep-cancel.h. + (LIBC_CANCEL_HANDLED): Add. + + * sysdeps/unix/sysv/linux/alpha/sysdep.h + (inline_syscall_r0_constraint): Rename to... + (inline_syscall_r0_out_constraint): ... this. Add =. + (inline_syscall[0-6]): Use inline_syscall_r0_out_constraint. + +2003-01-06 Andreas Schwab + + * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Make + sure this is always inlined. + (elf_machine_rela): Likewise. + + * sysdeps/m68k/Makefile (sysdep-CFLAGS): Increase inline limit. + +2003-01-04 Roland McGrath + + * Makeconfig (+mkdep): Add -MP flag. + Suggested by Art Haas . + +2003-01-05 Andreas Schwab + + * sysdeps/m68k/Makefile (CFLAGS-.oS): Append -fPIC. + +2003-01-05 Kaz Kojima + + * sysdeps/unix/sysv/linux/sh/clone.S (__clone): Use + SYSCALL_ERROR_HANDLER. + * sysdeps/unix/sysv/linux/sh/pipe.S (__libc_pipe): Likewise. + * sysdeps/unix/sysv/linux/sh/socket.S (__socket): Likewise. + Add support for cancellation handling. + * sysdeps/unix/sysv/linux/sh/syscall.S (__syscall): Use + SYSCALL_ERROR_HANDLER. + * sysdeps/unix/sysv/linux/sh/vfork.S (__vfork): Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Likewise. + Add support for cancellation handling. + (SYSCALL_ERROR_HANDLER): Define PIC variants. + +2003-01-04 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Mark + __syscall_pread64 and __syscall_pwrite64 cancelable. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h + (INTERNAL_SYSCALL): New macro. + (LOADARGS_0, LOADARGS_1): Fix. + +2003-01-05 Ulrich Drepper + + * Makerules (build-shlip-helper): Unless told otherwise, add + -Wl,-z,defs to linker command line. + * rt/Makefile (librt.so): Link with ld.so. + * dlfcn/Makefile (libdl.so): Likewise. + +2003-01-05 Jakub Jelinek + + * sysdeps/unix/sysv/linux/s390/s390-32/socket.S: Add support for + cancellation handling. + * sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c: Likewise. + +2003-01-04 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Correct + order of parameters passed to kill. + +2003-01-04 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/bits/stat.h: Add nanosecond fields. + +2003-01-03 Paul Eggert + + * malloc/obstack.h (__INT_TO_PTR) [__STDC__]: Cast result to + (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5 + when compiling Bison 1.875's `bitset bset = obstack_alloc + (bobstack, bytes);'. Problem reported by Nelson H. F. Beebe. + +2003-01-04 Ulrich Drepper + + * sysdeps/posix/system.c (do_system): Minor optimizations. Remove + unnecessary code. + Correct reference counter in case SIGQUIT handler installation failed. + +2003-01-03 Ulrich Drepper + + * include/libc-symbols.h [HAVE_WEAK_SYMBOLS] (_weak_extern): + Define using _Pragma(weak ...). + +2003-01-03 Andreas Jaeger , Jakub Jelinek + + * resolv/res_libc.c: Provide declaration for __res_init_weak and + reorder declarations. + +2003-01-03 Art Haas + + * localedata/tests-mbwc/dat_iswalnum.c: Convert GCC extension + initializer syntax to C99. + * localedata/tests-mbwc/dat_iswalpha.c: Likewise. + * localedata/tests-mbwc/dat_iswcntrl.c: Likewise. + * localedata/tests-mbwc/dat_iswctype.c: Likewise. + * localedata/tests-mbwc/dat_iswdigit.c: Likewise. + * localedata/tests-mbwc/dat_iswgraph.c: Likewise. + * localedata/tests-mbwc/dat_iswlower.c: Likewise. + * localedata/tests-mbwc/dat_iswprint.c: Likewise. + * localedata/tests-mbwc/dat_iswpunct.c: Likewise. + * localedata/tests-mbwc/dat_iswspace.c: Likewise. + * localedata/tests-mbwc/dat_iswupper.c: Likewise. + * localedata/tests-mbwc/dat_iswxdigit.c: Likewise. + * localedata/tests-mbwc/dat_mblen.c: Likewise. + * localedata/tests-mbwc/dat_mbrlen.c: Likewise. + * localedata/tests-mbwc/dat_mbrtowc.c: Likewise. + * localedata/tests-mbwc/dat_mbsrtowcs.c: Likewise. + * localedata/tests-mbwc/dat_mbstowcs.c: Likewise. + * localedata/tests-mbwc/dat_mbtowc.c: Likewise. + * localedata/tests-mbwc/dat_strcoll.c: Likewise. + * localedata/tests-mbwc/dat_strfmon.c: Likewise. + * localedata/tests-mbwc/dat_strxfrm.c: Likewise. + * localedata/tests-mbwc/dat_swscanf.c: Likewise. + * localedata/tests-mbwc/dat_towctrans.c: Likewise. + * localedata/tests-mbwc/dat_towlower.c: Likewise. + * localedata/tests-mbwc/dat_towupper.c: Likewise. + * localedata/tests-mbwc/dat_wcrtomb.c: Likewise. + * localedata/tests-mbwc/dat_wcscat.c: Likewise. + * localedata/tests-mbwc/dat_wcschr.c: Likewise. + * localedata/tests-mbwc/dat_wcscmp.c: Likewise. + * localedata/tests-mbwc/dat_wcscoll.c: Likewise. + * localedata/tests-mbwc/dat_wcscpy.c: Likewise. + * localedata/tests-mbwc/dat_wcscspn.c: Likewise. + * localedata/tests-mbwc/dat_wcslen.c: Likewise. + * localedata/tests-mbwc/dat_wcsncat.c: Likewise. + * localedata/tests-mbwc/dat_wcsncmp.c: Likewise. + * localedata/tests-mbwc/dat_wcsncpy.c: Likewise. + * localedata/tests-mbwc/dat_wcspbrk.c: Likewise. + * localedata/tests-mbwc/dat_wcsrtombs.c: Likewise. + * localedata/tests-mbwc/dat_wcsspn.c: Likewise. + * localedata/tests-mbwc/dat_wcsstr.c: Likewise. + * localedata/tests-mbwc/dat_wcstod.c: Likewise. + * localedata/tests-mbwc/dat_wcstok.c: Likewise. + * localedata/tests-mbwc/dat_wcstombs.c: Likewise. + * localedata/tests-mbwc/dat_wcswidth.c: Likewise. + * localedata/tests-mbwc/dat_wcsxfrm.c: Likewise. + * localedata/tests-mbwc/dat_wctob.c: Likewise. + * localedata/tests-mbwc/dat_wctomb.c: Likewise. + * localedata/tests-mbwc/dat_wctrans.c: Likewise. + * localedata/tests-mbwc/dat_wctype.c: Likewise. + * localedata/tests-mbwc/dat_wcwidth.c: Likewise. + +2003-01-03 Richard Henderson + + * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_asm): New. + (inline_syscall_r0_constraint): New. + (inline_syscall[0-6]): Use them. + +2003-01-03 Jakub Jelinek + + * sysdeps/generic/ldsodefs.h (_dl_allocate_tls, _dl_deallocate_tls): + Add rtld_hidden_proto. + * sysdeps/generic/dl-tls.c (_dl_deallocate_tls): Add rtld_hidden_def. + (_dl_allocate_tls): Likewise. Remove INTDEF. + +2002-07-05 Kaz Kojima + + * sysdeps/sh/memcpy.S: Optimize. Based on a patch by Toshiyasu + Morita . + * sysdeps/sh/memcpy.S: Likewise. + +2003-01-02 Ulrich Drepper + + * sysdeps/pthread/aio_suspend.c (aio_suspend): Don't quite remove + any, but unify the test. + +2003-01-02 Jakub Jelinek + + * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction, + sigaction): Protect weak_alias and libc_hidden_weak with + #ifndef LIBC_SIGACTION. + * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction, + sigaction): Likewise. + * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction, + sigaction): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction, + sigaction): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction, + sigaction): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction, + sigaction): Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction, + sigaction): Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction, + sigaction): Likewise. Remove SIGCANCEL handling here. + * sysdeps/unix/sysv/linux/sigaction.c (__sigaction, sigaction): + Likewise. + +2003-01-02 Art Haas + + * login/tst-utmp.c: Convert GCC extension initializer syntax to C99. + +2003-01-02 Ulrich Drepper + + * 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. + +2003-01-01 Jakub Jelinek + + * io/sys/stat.h: Include time.h with __need_timespec even if + __USE_MISC is defined but __USE_XOPEN is not. + +2003-01-01 Andreas Jaeger + + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Use union + type to avoid strict aliasing problem. + (_nss_dns_gethostbyname2_r): Likewise. + * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise. + (_nss_dns_getnetbyname_r): Likewise. + * resolv/gethnamaddr.c (_gethtent): Likewise. + (gethostbyname2): Likewise. + +2002-12-31 Ulrich Drepper + + * string/string-inlines.c: Define __memcpy_g and __strchr_g macros + to avoid using the exported symbols. Define aliases with the + original names separately. + + * include/time.h: Add libc_hidden_proto for __strftime_l. + * include/wchar.h: Add libc_hidden_proto for __wcsftime_l. + * time/strftime.c: Always use libc_hidden_def if _LIBC. + + * libio/libioP.h: Add libc_hidden_proto for _IO_file_open. + * libio/fileops.c: Add libc_hidden_def for _IO_file_open. + + * malloc/mtrace.c: Add libc_hidden_proto and libc_hidden_def for + tr_break. + + * csu/Makefile (routines): Add dso_handle. + * csu/dso_handle.c: New file. + +2002-12-31 Roland McGrath + + * Makerules (compile.S, COMPILE.S): Remove -DASSEMBLER here. + Use $(S-CPPFLAGS) in place of $(asm-CPPFLAGS). + (S-CPPFLAGS): Add -DASSEMBLER here instead. + (generate-md5, +make-deps): Fix magic to get $(S-CPPFLAGS). + +2002-12-31 Ulrich Drepper + + * malloc/thread-m.h [SHARED] (thread_atfork): Assume __dso_handle + is available. + +2002-12-31 Andreas Jaeger + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: Sync + with Linux kernel. + * sysdeps/unix/sysv/linux/sparc/sparc32/kernel_stat.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/kernel_stat.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/kernel_stat.h: Likewise. + + * sysdeps/unix/sysv/linux/kernel_stat.h + (_HAVE_STAT_NSEC,_HAVE_STAT_NSEC64): New. + + * sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Re-add + __unused[1-3] since they're needed by some platforms. Handle + _HAVE_STAT_NSEC and _HAVE_STAT_NSEC64. + + * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Add nsec resolution + for structs stat and stat64. + * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise. + + * io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat. + + * sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for + nsec resolution changes. + (xstat64_conv): Likewise. + (xstat32_conv): Likewise. + + * sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for + struct kernel_stat. + + * sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for + structs stat and stat64. + + * time/time.h (__timespec_defined): Define for __USE_MISC. + +2002-12-31 Ulrich Drepper + + * include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin + and __libc_current_sigrtmax. + +2002-12-31 Jakub Jelinek + + * include/errno.h (__errno_location): Add prototype. + Use libc_hidden_proto unconditionally. + * include/netdb.h (__h_errno_location): Use libc_hidden_proto + unconditionally. + * include/resolv.h (__res_state): Likewise. + + * hurd/errno-loc.c (__errno_location): Add libc_hidden_def. + * include/sys/socket.h (accept): Add libc_hidden_proto. + * include/errno.h (__errno_location): Likewise. + * include/netdb.h (__h_errno_location): Likewise. + * include/resolv.h (__res_state): Likewise. + * include/unistd.h (__lseek): Likewise. + * sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def. + * sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise. + * sysdeps/generic/res-state.c (__res_state): Likewise. + * sysdeps/generic/accept.c (accept): Likewise. + * sysdeps/generic/lseek.c (__lseek): Likewise. + * sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin, + __libc_current_sigrtmax): Likewise. + * sysdeps/mach/hurd/accept.c (accept): Likewise. + * sysdeps/mach/hurd/lseek.c (__lseek): Likewise. + * sysdeps/unix/sysv/aix/accept.c (accept): Likewise. + * sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise. + * sysdeps/unix/sysv/linux/accept.S (accept): Likewise. + * sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise. + * sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New + alias to llseek. + (__GI_accept): New alias to accept. + * sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek): + New alias to llseek. + (__GI_accept): New alias to accept. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept): + Likewise. + * sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek. + + * sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of + strong_alias (name, __GI_name). + * sysdeps/arm/bsd-_setjmp.S : Likewise. + * sysdeps/hppa/bsd-_setjmp.S : Likewise. + * sysdeps/i386/bsd-_setjmp.S : Likewise. + * sysdeps/mips/mips64/bsd-_setjmp.S : Likewise. + * sysdeps/mips/bsd-_setjmp.S : Likewise. + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise. + * sysdeps/powerpc/powerpc64/setjmp.S : Likewise. + * sysdeps/s390/s390-32/elf/setjmp.S : Likewise. + * sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise. + * sysdeps/s390/s390-64/elf/setjmp.S : Likewise. + * sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise. + * sysdeps/sh/bsd-_setjmp.S : Likewise. + * sysdeps/sparc/sparc32/setjmp.S : Likewise. + * sysdeps/unix/arm/fork.S : Likewise. + * sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise. + * sysdeps/unix/bsd/i386/vfork.S : Likewise. + * sysdeps/unix/bsd/osf/alpha/fork.S : Likewise. + * sysdeps/unix/bsd/sun/m68k/vfork.S : Likewise. + * sysdeps/unix/bsd/ultrix4/mips/vfork.S : Likewise. + * sysdeps/unix/bsd/vax/vfork.S : Likewise. + * sysdeps/unix/i386/fork.S : Likewise. + * sysdeps/unix/mips/fork.S : Likewise. + * sysdeps/unix/sparc/fork.S : Likewise. + * sysdeps/unix/sparc/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/arm/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/cris/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/i386/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/ia64/fork.S : Likewise. + * sysdeps/unix/sysv/linux/ia64/setjmp.S : Likewise. + * sysdeps/unix/sysv/linux/ia64/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/m68k/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/sh/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S : Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise. + * sysdeps/unix/sysv/linux/sparc/fork.S : Likewise. + * sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise. + * sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise. + * sysdeps/unix/fork.S : Likewise. + * sysdeps/vax/bsd-_setjmp.S : Likewise. + * sysdeps/x86_64/bsd-_setjmp.S : Likewise. + + * sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple + inclusion. + +2002-12-31 Ulrich Drepper + + * include/unistd.h: Add libc_hidden_proto for __fork and __vfork. + * sysdeps/generic/fork.c: Add libc_hidden_def for __fork. + * sysdeps/mach/hurd/fork.c: Likewise. + * sysdeps/unix/sysv/aix/fork.c: Likewise. + * sysdeps/unix/fork.S: Add __GI___fork alias. + * sysdeps/unix/arm/fork.S: Likewise. + * sysdeps/unix/bsd/osf/alpha/fork.S: Likewise. + * sysdeps/unix/i386/fork.S: Likewise. + * sysdeps/unix/mips/fork.S: Likewise. + * sysdeps/unix/sparc/fork.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/fork.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/fork.S: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Likewise. + * sysdeps/generic/vfork.c: Add libc_hidden_def for __vfork. + * sysdeps/unix/bsd/hp/m68k/vfork.S: Add __GI___vfork alias. + * sysdeps/unix/bsd/i386/vfork.S: Likewise. + * sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise. + * sysdeps/unix/bsd/ultrix4/mips/vfork.S: Likewise. + * sysdeps/unix/bsd/vax/vfork.S: Likewise. + * sysdeps/unix/sparc/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/arm/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/cris/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/sh/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise. + + * include/time.h: Add libc_hidden_proto for __nanosleep. + * sysdeps/generic/nanosleep.c: Add libc_hidden_def for __nanosleep. + * sysdeps/mach/nanosleep.c: Likewise. + * sysdeps/unix/sysv/aix/nanosleep.c: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Add __GI___nanosleep alias. + + * libio/libioP.h: Add libc_hidden_proto for _IO_list_lock, + _IO_list_unlock, and _IO_list_resetlock. + * libio/genops.c: Add libc_hidden_def for _IO_list_lock, + _IO_list_unlock, and _IO_list_resetlock. + + * libio/libioP.h: Add libc_hidden_proto for _IO_iter_begin, + _IO_iter_end, _IO_iter_next, and _IO_iter_file. + * libio/genops.c: Add libc_hidden_def for _IO_iter_begin, + _IO_iter_end, _IO_iter_next, and _IO_iter_file. + + * include/setjmp.h: Add libc_hidden_proto for __libc_longjmp. + * sysdeps/generic/longjmp.c: Add libc_hidden_def for __longjmp. + * sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add + __GI___longjmp alias. + + * include/setjmp.h: Add libc_hidden_proto for _setjmp. + * sysdeps/alpha/setjmp.S: Add __GI__setjmp alias. + * sysdeps/arm/bsd-_setjmp.S: Likewise. + * sysdeps/generic/bsd-_setjmp.c: Likewise. + * sysdeps/hppa/bsd-_setjmp.S: Likewise. + * sysdeps/i386/bsd-_setjmp.S: Likewise. + * sysdeps/m68k/bsd-_setjmp.c: Likewise. + * sysdeps/mips/bsd-_setjmp.S: Likewise. + * sysdeps/mips/mips64/bsd-_setjmp.S: Likewise. + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Likewise. + * sysdeps/powerpc/powerpc64/setjmp.S: Likewise. + * sysdeps/s390/s390-32/bsd-_setjmp.S: Likewise. + * sysdeps/s390/s390-32/elf/setjmp.S: Likewise. + * sysdeps/s390/s390-64/bsd-_setjmp.S: Likewise. + * sysdeps/s390/s390-64/elf/setjmp.S: Likewise. + * sysdeps/sh/bsd-_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/vax/bsd-_setjmp.S: Likewise. + * sysdeps/x86_64/bsd-_setjmp.S: Likewise. + +2002-12-30 Ulrich Drepper + + * malloc/thread-m.h (thread_atfork): Define using __register_atfork. + +2002-12-30 Roland McGrath + + * Rules (generated): Target removed. + * mach/Makefile (generated): Define it here instead. + + * math/Makefile (generated): Add m_*l and m_*f variants too. + +2002-12-30 Ulrich Drepper + + * elf/dl-close.c (_dl_close): Handle relocation dependencies among + the to-be-deleted objects right away instead of later separately. + The latter fails because the scope data structures of the DSO + might already be gone. + + * elf/Makefile: Add rules to build and run reldep8 test. + * elf/reldep8.c: New file. + * elf/reldep8mod1.c: New file. + * elf/reldep8mod2.c: New file. + * elf/reldep8mod3.c: New file. + Contributed by Jakub Jelinek. + +2002-12-24 GOTO Masanori + + * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition + checking of return value ENOSYS from getdents64. + +2002-12-28 Andreas Schwab + + * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d. + ($(common-objpfx)s-%.d): Generalized from + $(common-objpfx)s-proto.d rule. + (common-generated): Add s-proto-cancel.d. + * sysdeps/unix/make-syscalls.sh: Use s-proto-cancel.d for + cancellable syscalls. + * sysdeps/unix/s-proto-cancel.S: New file. + +2002-12-29 Roland McGrath + + * resolv/res_libc.c: Move _res defn magic after res_init defn + so _res macro is in effect for that code. + + * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed + pattern for prepending $(..) so it doesn't affect $(foo). + + * math/Makefile (generated): Add $(addsuffix .c .S,$(calls:s_%=m_%)). + +2002-12-29 Jakub Jelinek + + * elf/cache.c (add_to_cache): Don't loop forever with 1ULL << 63 set + in hwcap. + +2002-12-28 Ulrich Drepper + + * misc/sys/cdefs.h (__attribute_deprecated__): New #define. + +2002-12-28 Andreas Jaeger + + * sysdeps/generic/readelflib.c (process_elf_file): Cast value to + avoid warning. + * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Likewise. + +2002-12-27 Jakub Jelinek + + * inet/herrno.c (__h_errno_location): Remove. + * inet/Makefile (routines): Add herrno-loc. + * resolv/res_libc.c (__res_state): Remove. + * resolv/Makefile (routines): Add res-state. + * sysdeps/generic/herrno-loc.c: New file. + * sysdeps/generic/res-state.c: New file. + +2002-12-27 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/sysdep.h (I386_USE_SYSENTER): + Only define if USE_DL_SYSINFO is defined. + +2002-12-22 Jakub Jelinek + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (INLINE_SYSCALL, + INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERROR): + Define. Patch by Richard Henderson and Jes Sorensen. + (PSEUDO): Remove unnecessary ;;. + * elf/rtld.c (dl_main): Initialize TLS even if no PT_TLS segments + are found unless TLS_INIT_TP_EXPENSIVE. Use NONTLS_INIT_TP. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Use NONTLS_INIT_TP + if not initializing thread pointer. + [!USE_TLS && NONTLS_INIT_TP] (__pthread_initialize_minimal): New. + * sysdeps/generic/libc-start.c (__pthread_initialize_minimal): Don't + make it weak also if NONTLS_INIT_TP. + * sysdeps/unix/common/pause.c: Handle cancellation. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h [DONT_LOAD_G1] + (LOADSYSCALL): Remove. + (SYSCALL_ERROR_HANDLER_ENTRY): Define. + (SYSCALL_ERROR_HANDLER): Use it. + (PSEUDO): Don't jump around error handler. + * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__libc_pipe): Don't + jump around error handler. + * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S (syscall): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S (__socket): Branch + to __syscall_error_handler on failure. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [DONT_LOAD_G1] + (LOADSYSCALL): Remove. + (SYSCALL_ERROR_HANDLER_ENTRY): Define. + (SYSCALL_ERROR_HANDLER): Use it. + (PSEUDO): Don't jump around error handler. + * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__libc_pipe): Don't + jump around error handler. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S (syscall): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S (__socket): Branch + to __syscall_error_handler on failure. + +2002-12-27 Roland McGrath + + * scripts/gen-as-const.awk: New file. + * Makefile (distribute): Add it. + * Makerules ($(common-objpfx)%.h %.h.d: %.sym): New pattern rule. + (before-compile): Add $(gen-as-const-headers:%.sym=$(common-objpfx)%.h) + to the list. + (+depfiles): Add $(addprefix $(common-objpfx),$(gen-as-const-headers)). + +2002-12-27 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/socket.S: Add cancellation support. + +2002-12-27 Jakub Jelinek + + * malloc/arena.c (ptmalloc_init): Don't call next_env_entry if + _environ is NULL. + +2002-12-27 Andreas Schwab + + * Makerules ($(common-objpfx)%.make): Filter through + $(sed-remove-objpfx). + +2002-12-23 Roland McGrath + + * scripts/abilist.awk: Produce a more compact format, divided into + stanzas for each version set, the set name listed only once. + * scripts/extract-abilist.awk: New file. + * scripts/merge-abilist.awk: New file. + * Makerules (check-abi-%, update-abi-%): New pattern rules. + (update-abi, check-abi): New targets. + * Makefile (+subdir_targets): Add subdir_{check,update}-abi. + +2002-12-19 Roland McGrath + + * Makerules (%.symlist): Use LC_ALL=C when running awk script. + + * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Cast result of + INTERNAL_SYSCALL. + +2002-12-21 Andreas Schwab + + * elf/check-textrel.c (handle_file): Swap p_type. + +2002-12-21 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Define. + (INLINE_SYSCALL): Use it. + (INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define. + (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant. + + * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Use INTERNAL_SYSCALL. + * sysdeps/unix/sysv/linux/m68k/brk.c: Likewise. + +2002-12-20 Art Haas + + * sysdeps/gnu/siglist.c: Convert GCC extension initializer + syntax to C99. + +2002-12-21 Philip Blundell + + * sysdeps/arm/elf/start.S (_start): Optimise a little. Push stack + top as seventh arg to __libc_start_main. + Reported by paulnash@wildseed.com. + + * sysdeps/unix/sysv/linux/arm/clone.S: Small optimisation. + + * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Elide + compatibility cruft when new enough kernel is assumed. + +2002-12-20 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/brk.c (__brk): Use INTERNAL_SYSCALL + instead of INLINE_SYSCALL. + +2002-12-20 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sigaction.c (__libc_sigaction): Fix + typo. + + * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Define SHM_HUGETLB. + * sysdeps/unix/sysv/linux/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise. + Patch by William Lee Irwin . + +2002-12-20 Andreas Schwab + + * locale/programs/ld-measurement.c (measurement_output): Fix + index calculation. + +2002-12-20 Ulrich Drepper + + * include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]: + Redefine _IO_flockifle and _IO_funlockfile as inlines. + + * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): For TLS + builds add "tls" in the search path. + * elf/ldconfig.c (is_hwcap_platform): Also recognize "tls". + (path_hwcap): Recognize "tls". + +2002-12-19 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/system.c (cancel_handler): Use + __waitpid instead of waitpid. + + * sysdeps/unix/sysv/linux/i386/_exit.S: Use ENTER_KERNEL instead of + int $0x80. + * sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise. + * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise. + * sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise. + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Add support to use AT_SYSINFO + information for system calls. + + * sysdeps/generic/dl-sysdep.h: Define RTLD_PRIVATE_ERRNO to 1 only + for ld.so. + + * elf/rtld.c (_dl_start) [USE___THREAD]: Define initdtv. + +2002-12-19 Roland McGrath + + * iconvdata/ibm856.h: Convert GCC extension initializer syntax to C99. + * iconvdata/ibm922.h: Likewise. + * iconvdata/ibm930.h: Likewise. + * iconvdata/ibm932.h: Likewise. + * iconvdata/ibm933.h: Likewise. + * iconvdata/ibm935.h: Likewise. + * iconvdata/ibm937.h: Likewise. + * iconvdata/ibm939.h: Likewise. + * iconvdata/ibm943.h: Likewise. + * iconvdata/isiri-3342.h: Likewise. + +2002-12-19 Ulrich Drepper + + * test-skeleton.c (main): Make sure correct value is seen as + argv[0] after adjustment of argv, and argc. + + * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if + RTLD_CORRECT_DYNAMIC_WEAK is defined. + +2002-12-19 Jakub Jelinek + + * nscd/connections.c (nscd_run): Shut up warning. + * tst-ungetc.c (assert): Undefined before redefining. + +2002-12-19 Ulrich Drepper + + * posix/regex.c: Use __builtin_expect even outside glibc if gcc 3 + is used. + +2002-12-17 Art Haas + + * iconvdata/cp737.h: Convert GCC extension initializer syntax to C99. + * iconvdata/cp775.h: Likewise. + * iconvdata/ibm1046.h: Likewise. + * iconvdata/ibm1124.h: Likewise. + * iconvdata/ibm1129.h: Likewise. + * iconvdata/ibm1132.h: Likewise. + * iconvdata/ibm1133.h: Likewise. + * iconvdata/ibm1160.h: Likewise. + * iconvdata/ibm1161.h: Likewise. + * iconvdata/ibm1162.h: Likewise. + * iconvdata/ibm1163.h: Likewise. + * iconvdata/ibm1164.h: Likewise. + +2002-12-19 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if + __ASSUME_CLONE_THREAD_FLAGS is defined. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >= 2.5.50. + +2002-12-18 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead + of asm. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + + * elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize + _dl_sysinfo. + [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed + code. + * elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of + _rtld_global. + [DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed + code. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]: + Check for AT_SYSINFO and set _dl_sysinfo appropriately. + * sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]: + Add _dl_sysinfo. + +2002-12-18 Jakub Jelinek + + * misc/Versions [libc: GLIBC_2.3.1]: Move __libc_readv and + __libc_writev to... + [libc: GLIBC_PRIVATE]: ...here. + * sysvipc/Versions [libc: GLIBC_2.3.1]: Move __libc_msgrcv and + __libc_msgsnd to... + [libc: GLIBC_PRIVATE]: ...here. + +2002-12-18 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Define ENTER_KERNEL macro. + Use it instead of directly int $0x80. + * sysdeps/unix/sysv/linux/i386/brk.c: Use ENTER_KERNEL. + * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. + * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/i386/socket.S: Likewise. + * sysdeps/unix/sysv/linux/i386/syscall.S: Likewise. + +2002-12-17 Ulrich Drepper + + * malloc/malloc.c (mALLOPt): Make sure malloc is initialized. + + * elf/elf.h (AT_SYSINFO): New define. + * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Add support for + AT_SYSINFO. + +2002-12-17 Jakub Jelinek + + * sysdeps/unix/sysv/linux/alpha/syscalls.list (msgrcv, msgsnd): + Make cancelable. + * sysdeps/unix/sysv/linux/hppa/syscalls.list (msgrcv, msgsnd): + Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (msgrcv, msgsnd): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (msgrcv, msgsnd): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (msgrcv, msgsnd): + Likewise. + * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): Likewise. + + * malloc/thread-m.h (mutex_init, mutex_lock, mutex_trylock, + mutex_unlock): If not building NPTL, use __libc_maybe_call2 if + available, otherwise __libc_maybe_call. + * sysdeps/unix/sysv/linux/x86_64/recv.c: Add support for + cancellation handling. + * sysdeps/unix/sysv/linux/x86_64/send.c: Likewise. + +2002-12-17 Isamu Hasegawa + + * posix/regcomp.c (free_workarea_compile): Free the new member + ORG_INDICES. + (analyze): Initialize ORG_INDICES. + (duplicate_node_closure): Search for a existing node, which is + duplicated from the node ORG_DEST and satisfies the constraint + CONSTRAINT. And use it to avoid inifimite loop. + (search_duplicated_node): New function. + (duplicate_node): Store the index of the original node. + * posix/regex_internal.c (re_dfa_add_node): Realloc ORG_INDICES + if needed. + * posix/regex_internal.h (re_dfa_t): Add new members. + +2002-12-17 Ulrich Drepper + + * stdio-common/tst-fdopen.c: Undefine assert before redefining it. + +2002-12-16 Ulrich Drepper + + * sysdeps/posix/system.c (do_system): Add support for installation + of cancellation handlers. + * sysdeps/unix/sysv/linux/i386/system.c: New file. + + * stdlib/Makefile (tests): Add tst-system. + * stdlib/tst-system.c: New file. + + * sysdeps/unix/sysv/linux/i386/socket.S [NEED_CANCELLATION && + CENABLE]: Don't lose content of %ebx. + +2002-12-17 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/socket.S: Use SINGLE_THREAD_P + macro instead of comparing %gs:MULTIPLE_THREADS_OFFSET directly. + +2002-12-16 Ulrich Drepper + + * sysdeps/posix/getaddrinfo.c (gaih_inet): If __nss_lookup_function + fails to return a function pointer don't use it. + +2002-12-16 Art Haas + + * io/ftw.c: Convert GCC extension initializer syntax to C99. + * iconvdata/iso-ir-165.c: Likewise. + * iconvdata/jis0208.c: Likewise. + * iconvdata/jis0212.c: Likewise. + +2002-12-16 Ulrich Drepper + + * sysdeps/unix/sysv/linux/syscalls.list: Add epoll_create, + epoll_ctl, and epoll_wait. + * sysdeps/unix/sysv/linux/Versions [libc: GLIBC_2.3.2]: Add + epoll_create, epoll_ctl, and epoll_wait. + * sysdeps/unix/sysv/linux/sys/epoll.h: New file. Written by + Davide Libenzi . + * sysdeps/unix/sysv/linux/Dist: Add sys/epoll.h. + * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): + Add sys/epoll.h. + +2002-12-16 Art Haas + + * sysdeps/generic/bp-semctl.h: Convert GCC extension initializer + syntax to C99 + * sysdeps/unix/sysv/aix/settimer.c: Likewise. + * sysdeps/unix/sysv/aix/sleep.c: Likewise. + * sysdeps/unix/sysv/aix/usleep.c: Likewise. + +2002-12-16 Ulrich Drepper + + * stdio-common/Makefile (routines): Remove lockfile. Add + flockfile, ftrylockfile, and funlockfile. + * sysdeps/generic/lockfile.c: Removed. Each function has its own file. + * sysdeps/generic/flockfile.c: New file. + * sysdeps/generic/ftrylockfile.c: New file. + * sysdeps/generic/funlockfile.c: New file. + +2002-12-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/socket.S: Use CENABLE and CDISABLE + macros instead of doing the calls directly. + * sysdeps/unix/make-syscalls.sh: Add ptw-*.$o target name to rules. + * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for ptw-% + targets. + +2002-12-16 Jakub Jelinek + + * sysdeps/i386/fpu/bits/mathinline.h: Backout last change. + * sysdeps/ieee754/bits/nan.h: Likewise. + + * sysdeps/unix/sysv/linux/ia64/syscalls.list (__syscall_open, + __syscall_wait4, __syscall_ioctl, __syscall_write): Add. + +2002-12-16 Roland McGrath + + * sunrpc/xdr_mem.c (xdrmem_inline): Fix argument type. + * sunrpc/xdr_rec.c (xdrrec_inline): Likewise. + * sunrpc/xdr_stdio.c (xdrstdio_inline): Likewise. + + * sysdeps/unix/sysv/linux/syscalls.list: Add getpmsg, putpmsg. + * sysdeps/unix/sysv/linux/mips/syscalls.list: Remove s_getpmsg, + s_putpmsg. + * sysdeps/unix/sysv/linux/i386/getpmsg.c: File removed. + * sysdeps/unix/sysv/linux/i386/putpmsg.c: File removed. + * sysdeps/unix/sysv/linux/m68k/getpmsg.c: File removed. + * sysdeps/unix/sysv/linux/m68k/putpmsg.c: File removed. + * sysdeps/unix/sysv/linux/mips/getpmsg.c: File removed. + * sysdeps/unix/sysv/linux/mips/putpmsg.c: File removed. + * sysdeps/unix/sysv/linux/powerpc/getpmsg.c: File removed. + * sysdeps/unix/sysv/linux/powerpc/putpmsg.c: File removed. + +2002-12-13 Paul Eggert + + * sunrpc/rpc/xdr.h (struct XDR.xdr_ops.x_inline): 2nd arg + is now u_int, not int. + (struct XDR.x_handy): Now u_int, not int. + * sunrpc/xdr_mem.c: Include . + (xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes, xdrmem_putbytes, + xdrmem_inline, xdrmem_getint32, xdrmem_putint32): + x_handy is now unsigned, not signed. + Do not decrement x_handy if no change is made. + (xdrmem_setpos): Check for int overflow. + * sunrpc/xdr_sizeof.c (x_inline): 2nd arg is now unsigned. + (xdr_sizeof): Remove cast that is now unnecessary, now that + x_handy is unsigned. + +2002-12-15 Art Haas + + * iconv/gconv_conf.c: Convert GCC extension initializer syntax to C99. + * iconvdata/gap.awk: Likewise. + * iconvdata/gen-8bit-gap-1.sh: Likewise. + * iconvdata/gen-8bit-gap.sh: Likewise. + * locale/C-address.c: Likewise. + * locale/C-collate.c: Likewise. + * locale/C-ctype.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. + * nscd/connections.c: Likewise. + * nscd/grpcache.c: Likewise. + * nscd/hstcache.c: Likewise. + * nscd/pwdcache.c: Likewise. + * stdio-common/vfprintf.c: Likewise. + * stdlib/random.c: Likewise. + * sysdeps/generic/siglist.c: Likewise. + * sysdeps/i386/fpu/bits/mathinline.h: Likewise. + * sysdeps/ieee754/bits/nan.h: Likewise. + * sysdeps/posix/sprofil.c: Likewise. + * sysdeps/unix/sysv/linux/sleep.c: Likewise. + * sysdeps/unix/sysv/linux/sysctl.c: Likewise. + * sysdeps/unix/sysv/linux/usleep.c: Likewise. + +2002-12-15 Roland McGrath + + * sysdeps/unix/sysv/linux/readv.c (do_readv): Use prototype defn. + + * sysdeps/unix/sysv/linux/wait.c: Don't include or + here, no need for it. + * sysdeps/unix/sysv/linux/waitpid.c: Likewise. + + * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void * + parameter, not varargs parameter. + + * sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the + argument so it's not an unused variable. + + * resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms, + __p_type_syms, __p_rcode_syms): Remove decls, never really intended + for users. + + * resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode. + +2002-12-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): This is the + original __libc_fcntl code. Just renamed. + +2002-12-15 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/clone.S: Make inline syscall to _exit. + +2002-12-14 Olaf Hering + + * sysdeps/powerpc/bits/setjmp.h: Include . + * sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load. + +2002-12-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/libc_fatal.c: New file. + + * sysdeps/generic/sysdep-cancel.h: Add dummy definitions for + SINGLE_THREAD_P, LIBC_CANCEL_ASYNC, and LIBC_CANCEL_RESET. + + * sysdeps/unix/sysv/linux/open64.c: New file. + + * sysdeps/generic/pselect.c: Add support for cancellation handling. + * sysdeps/posix/open64.c: Likewise. + * sysdeps/posix/sigpause.c: Likewise. + * sysdeps/posix/sigwait.c: Likewise. + * sysdeps/posix/system.c: Likewise. + * sysdeps/posix/waitid.c: Likewise. + * sysdeps/unix/sysv/linux/accept.S: Likewise. + * sysdeps/unix/sysv/linux/connect.S: Likewise. + * sysdeps/unix/sysv/linux/llseek.c: Likewise. + * sysdeps/unix/sysv/linux/msgrcv.c: Likewise. + * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. + * sysdeps/unix/sysv/linux/poll.c: Likewise. + * sysdeps/unix/sysv/linux/pread.c: Likewise. + * sysdeps/unix/sysv/linux/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/readv.c: Likewise. + * sysdeps/unix/sysv/linux/recv.S: Likewise. + * sysdeps/unix/sysv/linux/recvfrom.S: Likewise. + * sysdeps/unix/sysv/linux/recvmsg.S: Likewise. + * sysdeps/unix/sysv/linux/send.S: Likewise. + * sysdeps/unix/sysv/linux/sendmsg.S: Likewise. + * sysdeps/unix/sysv/linux/sendto.S: Likewise. + * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. + * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. + * sysdeps/unix/sysv/linux/sigwait.c: Likewise. + * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. + * sysdeps/unix/sysv/linux/tcdrain.c: Likewise. + * sysdeps/unix/sysv/linux/wait.c: Likewise. + * sysdeps/unix/sysv/linux/waitpid.c: Likewise. + * sysdeps/unix/sysv/linux/writev.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/socket.S: Likewise. + +2002-12-14 Jakub Jelinek + + * sysdeps/generic/sysdep-cancel.h: New file. + * sysdeps/unix/make-syscalls.sh: Handle C at start of args as + cancelable syscall. + * sysdeps/unix/inet/syscalls.list (accept, connect, recv, recvfrom, + recvmsg, send, sendmsg, sendto): Make cancelable. + * sysdeps/unix/mman/syscalls.list (msync): Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (llseek, pread, + pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, + sendto, osf_select): Likewise. + * sysdeps/unix/sysv/linux/hppa/syscalls.list (accept, connect, recv, + recvfrom, recvmsg, send, sendmsg, sendto): Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek, pread, + pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, + sendto): Likewise. + * sysdeps/unix/sysv/linux/mips/syscalls.list (accept, connect, recv, + recvfrom, recvmsg, send, sendmsg, sendto): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, pread, + pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, + sendto): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (llseek, pread, + pwrite, accept, connect, recv, recvfrom, recvmsg, send, sendmsg, + sendto, select): Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (llseek, pread, + pwrite, accept, connect, recvfrom, recvmsg, sendmsg, sendto): + Likewise. + * sysdeps/unix/sysv/linux/syscalls.list (creat, nanosleep, pause, + select, fcntl): Likewise. + * sysdeps/unix/sysv/syscalls.list (pause, poll): Likewise. + * sysdeps/unix/syscalls.list (close, fcntl, fsync, lseek, open, + read, readv, select, sigsuspend, write, writev): Likewise. + +2002-12-14 Jakub Jelinek + + * dirent/bug-readdir1.c: Include unistd.h. + +2002-12-13 Jakub Jelinek + + * locale/programs/locale.c: Include locarchive.h. + (ARCHIVE_NAME): Define. + (write_archive_locales): New function. + (write_locales): Use it. Ensure the same locale is not printed + multiple times in verbose mode. + Mode LC_IDENTIFICATION and LC_CTYPE printing into... + (print_LC_IDENTIFICATION, print_LC_CTYPE): ... these helper + functions. + (struct nameent): New type. + (nameentcmp): New function. + +2002-12-14 Jakub Jelinek + + * posix/regex_internal.c (re_string_context_at): Guard wide char + code with #ifdef RE_ENABLE_I18N. + +2002-11-22 Paolo Bonzini + + * posix/regcomp.c (regcomp): __re_compile_fastmap -> re_compile_fastmap + +2002-12-13 Roland McGrath + + * posix/bug-regex15.c: New file. + * posix/Makefile (tests): Add it. + + * test-skeleton.c (TEST_DATA_LIMIT): New macro, default to 64MB. + (main): Set RLIMIT_DATA limit to TEST_DATA_LIMIT (or lower if need be). + +2002-12-13 Ulrich Drepper + + * elf/dl-misc.c (_dl_debug_vdprintf): Don't depend on 5-digit PIDs. + + * misc/syslog.c (log_cleanup): Don't use parameter in + __libc_lock_unlock call, use syslog_lock directly. Adjust callers to + pass NULL instead of a pointer to syslog_lock. + +2002-12-12 Ulrich Drepper + + * iconvdata/Makefile: iconv-rules: Add definition to use gconv.map + linker map for all iconv modules. + (distribute): Add gconv.map. + * iconvdata/gconv.map: New file. + + * elf/Makefile: Also check all iconv modules for text relocations. + + * stdlib/Makefile: Remove code to automatically import GMP. + + * elf/Makefile (tests): Add rules to build and run check-textrel. + * elf/check-textrel.c: New file. + + * sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Add .size + directive. + +2002-12-11 Jakub Jelinek + + * io/test-utime (main): If stnow.st[am]time is wrong, print it and + not st.st[am]time. + +2002-04-30 Bruno Haible + + * intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to + the encoding if it already has slashes. + Reported by Perry Rapp . + +2002-12-11 Roland McGrath + + * csu/Makefile ($(objpfx)elf-init.oS): Remove target, braino. + (CPPFLAGS-elf-init.oS, CFLAGS-elf-init.oS): New variables. + Turn off PIC for compiling this file. + +2002-12-11 Ulrich Drepper + + * malloc/thread-m.h: Remove thread_id type and MUTEX_INITIALIZER + definitions. Not needed. + [_LIBC]: Use definitions from libc-lock.h instead of referencing + pthread routines directly. + * malloc/arena.c (ptmalloc_unlock_all2): Don't add (void) to + mutex_init calls. + (arena_get2): Don't look at return value of mutex_lock. + +2002-12-11 Roland McGrath + + * csu/Makefile ($(objpfx)elf-init.oS): New target, just clone + elf-init.o instead of compiling a PIC version. + +2002-12-11 Bruno Haible + + * intl/gettext.h: Renamed to ... + * intl/gmo.h: ... here. + * intl/Makefile (distribute): Add gmo.h, remove gettext.h. + * intl/gettextP.h: Update. + * intl/loadmsgcat.c: Update. + + * intl/gettextP.h (PARAMS): Make more portable. + (attribute_hidden): Define as empty macro if not already defined. + * intl/hash-string.h (PARAMS): Make more portable. + * intl/loadinfo.h (PARAMS): Likewise. + * intl/plural-exp.h (PARAMS): Likewise. + (attribute_hidden): Move definition near the definition of + internal_function. + + * intl/gettextP.h (_nl_locale_name) [!_LIBC]: New declaration. + * intl/plural-exp.h (plural_eval) [!_LIBC]: New declaration. + +2002-07-13 Bruno Haible + + * intl/dcigettext.c (freea): New macro. + (FREE_BLOCKS): Free also the registered blocks. + (DCIGETTEXT): Free the 'search' variable. + Reported by Andreas Fischer . + +2002-04-27 Bruno Haible + + * intl/gettextP.h [! _LIBC]: Use prefix libintl_ instead of suffix __. + * intl/dcigettext.c: Likewise. + * intl/dcgettext.c: Likewise. + * intl/dgettext.c: Likewise. + * intl/gettext.c: Likewise. + * intl/dcngettext.c: Likewise. + * intl/dngettext.c: Likewise. + * intl/ngettext.c: Likewise. + * intl/textdomain.c: Likewise. + * intl/bindtextdom.c: Likewise. + * intl/plural-exp.h: Likewise. + +2002-01-02 Bruno Haible + + * intl/loadmsgcat.c (_nl_init_domain_conv): Use PARAMS in extern decl. + +2001-04-30 Bruno Haible + + * intl/dcigettext.c (getuid, getgid, geteuid, getegid): Provide + default macro definitions. Needed for mingw32. + +2002-12-10 Ulrich Drepper + + * sysdeps/i386/bits/byteswap.h (__bswap_64): Apply + __builtin_constant_p to macro parameter. + + * sysdeps/generic/sigpause.c: Define all functions as weak. + * sysdeps/posix/sigpause.c: Likewise. + + * elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of + type size_t. + +2002-12-10 Jakub Jelinek + + * elf/tst-array1.c (preinit_array, init_array, fini_array): + Explicitly align the array to sizeof (void *). + * elf/tst-array2dep.c (init_array, fini_array): Likewise. + + * include/libc-symbols.h: Fix a comment typo. + + * sysdeps/unix/sysv/linux/alpha/select.S (__libc_select): New alias. + * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__libc_sigsuspend): + Likewise. + * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__libc_sigsuspend): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c + (__libc_sigsuspend): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c + (__libc_sigsuspend): Likewise. + * sysdeps/generic/creat.c (__libc_creat): Renamed from creat. + (creat): New weak alias. + +2002-12-10 Roland McGrath + + * manual/libc-texinfo.sh: Emit @set ADD-ON for each ADD-ON that + contributes a manual chapter. + * manual/signal.texi (Process Signal Mask): Use @ifset linuxthreads + around xref to it. + + * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Refer to + and move contents to ... + (EXTRA_LD_ENVVARS_LINUX): ... this new macro. Add break for nonmatch. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use + it instead of duplicating its contents. + (EXTRA_LD_ENVVARS): Likewise. Add break for nonmatch. + +2002-12-09 Jakub Jelinek + + * elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if + defined. + * sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New + function. + (EXTRA_LD_ENVVARS): Use it. + (DL_OSVERSION_INIT): Define. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux + dl-librecon.h. + (EXTRA_LD_ENVVARS): Undef before defining. Use _dl_osversion_init. + +2002-12-10 Ulrich Drepper + + * Versions.def: No new symbols in 2.3.1, but some new ones in 2.3.2. + + * sysdeps/unix/closedir.c (__closedir): Remove __libc_lock_lock + call. It is not allowed to destroy pthread mutexes which are + still in use even though it is safe for our implementations. If + somebody still uses the descriptor it is a bug. + +2002-12-09 Richard Henderson + + * csu/abi-note.S: Use .p2align, not .align. + +2002-12-09 Ulrich Drepper + + * sysdeps/unix/sysv/linux/syscalls.list: Add __libc_creat and + __libc_select aliases. + + * sysdeps/unix/sysv/linux/sigwaitinfo.c: Define __libc_sigwaitinfo + alias. + + * sysdeps/unix/sysv/linux/sigwait.c: Define __libc_sigwait alias. + + * sysdeps/unix/sysv/linux/sigsuspend.c: Define __libc_sigsuspend alias. + + * sysdeps/unix/sysv/linux/poll.c: Define __libc_poll alias. + + * sysdeps/unix/syscalls.list: Define __libc_select alias. + + * sysdeps/posix/waitid.c: Define __libc_waitid alias. + + * sysdeps/posix/sigpause.c: Define __libc_sigpause and + __libc___xpg_sigpause aliases. + + * sysdeps/generic/pselect.c: Define __libc_pselect alias. + + * misc/error.c: Remove use of USE_IN_LIBIO. + +2002-12-08 Roland McGrath + + * elf/Makefile (tests): Uncomment tst-array[123]. + * Makeconfig (CPPFLAGS-.oS): Add -DLIBC_NONSHARED=1. + * csu/elf-init.c: New file. + * csu/Makefile (routines, static-only-routines): Add elf-init. + * sysdeps/alpha/elf/start.S: Use __libc_csu_init in place of _init + and __libc_csu_fini in place of _fini. + * sysdeps/arm/elf/start.S: Likewise. + * sysdeps/cris/elf/start.S: Likewise. + * sysdeps/hppa/elf/start.S: Likewise. + * sysdeps/i386/elf/start.S: Likewise. + * sysdeps/ia64/elf/start.S: Likewise. + * sysdeps/m68k/elf/start.S: Likewise. + * sysdeps/mach/hurd/powerpc/static-start.S: Likewise. + * sysdeps/mips/elf/start.S: Likewise. + * sysdeps/powerpc/powerpc32/elf/start.S: Likewise. + * sysdeps/powerpc/powerpc64/elf/start.S: Likewise. + * sysdeps/s390/s390-32/elf/start.S: Likewise. + * sysdeps/s390/s390-64/elf/start.S: Likewise. + * sysdeps/sh/elf/start.S: Likewise. + * sysdeps/sparc/sparc32/elf/start.S: Likewise. + * sysdeps/sparc/sparc64/elf/start.S: Likewise. + * sysdeps/x86_64/elf/start.S: Likewise. + + * sysdeps/pthread/aio_notify.c (notify_func_wrapper): Take a malloc'd + struct containing function ptr and value, free it. + (__aio_notify_only): Allocate that and copy values from SIGEV into it. + It's not safe to let the new thread use the SIGEV pointer. + +2001-10-20 Paul Eggert + + * misc/error.c (strerror_r): Do not declare unless [!_LIBC]. + Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P. + Use strerror_r that is only a macro, even if it is not a function. + (strerror): Check for HAVE_DECL_STRERROR before declaring. + (private_strerror): Use prototypes, not old-style function definition. + (print_errno_message): New function. + Support the POSIX 'int'-flavored strerror_r, as well as the traditional + char*-flavored one. + (error_tail, error, error_at_line): Use it. + +2002-12-07 Carlos O'Donell + + * sysdeps/unix/sysv/linux/hppa/bits/shm.h: Added SHMLBA #define. + +2002-12-08 Ulrich Drepper + + * scripts/output-format.sed: Fix bug in one of the s expressions + which used / for one too many things. + + * include/unistd.h: Declare __libc_close. + +2002-12-07 Ulrich Drepper + + * sysdeps/generic/bits/stdio-lock.h (_IO_lock_trylock): New define. + +2002-12-07 Roland McGrath + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Reintroduce changes + from 2002-12-06, but remove unnecessary memset call without removing + necessary copy of initialization image. + + * Makerules ($(common-objpfx)format.lds): New target. + (common-generated): Add it. + ($(inst_libdir)/libc.so): Depend on that, and cat it into the result. + * scripts/output-format.sed: New file. + * Makefile (distribute): Add it. + +2002-12-07 Ulrich Drepper + + * sysdeps/generic/libc-tls.c: Include . + Reported by Art Haas . + +2002-12-07 Kenneth W. Chen + + * sysdeps/ia64/strncpy.S (strncpy): Clear ar.ec. Fix .recovery4. + +2002-12-07 Jakub Jelinek + + * string/test-strncpy.c (do_random_tests): Improve test coverage. + +2002-12-06 Ulrich Drepper + + * test-skeleton.c (timeout_handler): Allow expected signal to be + SIGALRM. + + * wctype/wcfuncs.c: Add libc_hidden_def for iswalnum. + + * sysdeps/posix/raise.c: Add libc_hidden_def for raise. + +2002-12-07 Jakub Jelinek + + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [RTLD_PRIVATE_ERRNO] + (SYSCALL_ERROR_HANDLER): Fix a pasto. + Reported by Jeff Bailey . + +2002-12-06 Ulrich Drepper + + * sysdeps/generic/libc-tls.c: Undo last patch. + + * include/wctype.h: Define iswalnum with libc_hidden_proto. + + * include/signal.h: Define raise with libc_hidden_proto. + + * sysdeps/unix/sysv/linux/fexecve.c (fexecve): Use __snprintf and + __execve instead of snprintf and execve. + + * sysdeps/x86_64/fpu/libm-test-ulps: Relax errors for float and double + again a bit. + +2002-12-06 Jakub Jelinek + + * posix/Makefile (annexc.out): Add -I../dir for all sorted-dirs. + * posix/annexc.c (fmt, testfmt): Remove -D_LIBC. + +2002-12-06 Ulrich Drepper + + * misc/syslog.c (log_cleanup): New function. + (openlog): Use log_cleanup instead of __libc_mutex_unlock. + (closelog): Likewise. + + * elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*. + * elf/dl-iteratephdr.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-misc.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/dl-support.c: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + * sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros. + * sysdeps/mach/bits/libc-lock.h: Likewise. + * sysdeps/mach/hurd/bits/libc-lock.h: Likewise. + +2002-12-06 Roland McGrath + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Cope with zero ALIGN. + + * malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))] + (malloc_starter, memalign_starter, free_starter): Don't define these. + * malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]: + Don't declare them either. + * malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call + __pthread_initialize, so no need to set hooks to *_starter. + (ptmalloc_init_minimal): New function, broken out of ptmalloc_init. + [_LIBC && SHARED && USE_TLS && !USE___THREAD] + (__libc_malloc_pthread_startup): New function. + * malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function. + + * malloc/hooks.c (memalign_starter): New function. + * malloc/malloc.c: Declare it. + * malloc/arena.c (save_memalign_hook): New variable. + (ptmalloc_init): Set __memalign_hook to memalign_starter. + + * elf/dl-minimal.c (free): Clear the memory. + (calloc): Just call malloc, knowing all memory it returns is cleared. + + * sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of + malloc and memset; calloc can avoid the zeroing when redundant. + (_dl_tls_setup): Likewise. + * elf/dl-load.c (decompose_rpath): Likewise. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset + call, since memory from sbrk at startup is already zero. + + * elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an + error string for failure, null for success. Update callers. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. + * elf/dl-load.c (_dl_map_object_from_fd): Likewise. + +2002-12-05 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Change + args to i:iipi. + (readahead): Change args to i:iii. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (readahead): + Change args to i:iii. + * sysdeps/unix/sysv/linux/mips/syscalls.list (readahead): Change + args to i:iiii. + +2002-12-05 Roland McGrath + + * stdlib/cxa_finalize.c (__cxa_finalize): When given a null argument, + call all functions rather than none. + Reported by Mark P. Mitchell . + +2002-12-04 Roland McGrath + + * locale/localeinfo.h [NL_CURRENT_INDIRECT]: Use attribute_tls_model_ie + on _nl_current_LC_* variables. + +2002-12-05 Ulrich Drepper + + * dirent/bug-readdir1.c (main): Don't call closedir, just close + the file descriptor. This is testing what the bug report was about. + +2002-12-04 Ulrich Drepper + + * po/be.po: New file. + + * argp/Makefile (tests): Add tst-argp1. + + * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: (struct sigevent): + Change type of _attribute to void*. + * sysdeps/unix/sysv/linux/ia64/bits/siginfo.h: Likewise. + * sysdeps/unix/sysv/linux/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/s390/bits/siginfo.h: Likewise. + +2002-12-04 Roland McGrath + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS] + members to the end, so a libpthread compiled with !USE_TLS will still + find other members properly. + + * sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output + operand for DEST memory. Fix dummy input operand to use SRC. + Reported by Davin McCall . + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB + alignment when initializing the DTV entry. + + * elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment + when TLS has not been set up, try to set it up if we can. + * elf/tst-tls4.c: Revert last change. + * elf/tst-tls5.c: Likewise. + * elf/tst-tls6.c: Likewise. + * elf/tst-tls7.c: Likewise. + * elf/tst-tls8.c: Likewise. + * elf/tst-tls9.c: Likewise. + + * sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function. + * sysdeps/generic/ldsodefs.h: Declare it. + * elf/Versions (ld: GLIBC_PRIVATE): Add it. + * sysdeps/generic/libc-tls.c (init_slotinfo): New static inline + function, broken out of __libc_setup_tls. + (init_static_tls): Likewise. + (__libc_setup_tls): Call them. + (_dl_tls_setup): New function, uses new subroutines. + + * elf/dl-close.c (free_slotinfo): Make argument pointer to pointer. + Clear the pointer when returning true. + (libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the + first element of the slotinfo list too. + + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if + [SHARED]. + + * sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden. + (_dl_determine_tlsoffset): Likewise. + + * elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from + startup_error_tsd, made global. + (dl_main): Update initialization. + * elf/dl-tsd.c: Likewise. + * sysdeps/generic/ldsodefs.h: Declare it. + +2002-12-03 Ulrich Drepper + + * manual/texinfo.tex: Update from latest upstream version. + +2002-12-03 Roland McGrath + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Include static TLS + area surplus in calculation for sbrk call. + + * iconvdata/cp1125.c: New file. + * iconvdata/Makefile (distribute): Add it. + (modules): Add CP1125. + (gen-8bit-gap-modules): Add cp1125. + * iconvdata/gconv-modules: Add CP1125, alias RUSCII. + * iconvdata/tst-tables.sh: Add CP1125 to the list to test. + +2002-12-03 Andreas Jaeger + + * sysdeps/x86_64/fpu/libm-test-ulps: Regenerated. + +2002-12-03 Ulrich Drepper + + * sysdeps/posix/system.c (do_system): Make signal handler + installation thread safe. + +2002-12-02 Roland McGrath + + * sysdeps/unix/sysv/linux/alpha/syscalls.list (readahead): Change + caller from EXTRA to -. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + +2002-12-02 Carlos O'Donell + + * sysdeps/hppa/fpu/fesetround.c (fesetround): Use ~FE_DOWNWARD so both + bits of RM are cleared. + +2002-12-02 Roland McGrath + + * elf/tst-tls4.c: Define an unused TLS variable here, so that no lazy + TLS setup is required. + * elf/tst-tls5.c: Likewise. + * elf/tst-tls6.c: Likewise. + * elf/tst-tls7.c: Likewise. + * elf/tst-tls8.c: Likewise. + * elf/tst-tls9.c: Likewise. + + * elf/rtld.c (dl_main): Remove [! SHARED] conditional from + `if (GL(dl_tls_max_dtv_idx) > 0)' tests for doing TLS setup. + * elf/dl-close.c (libc_freeres_fn): Check GL(dl_tls_dtv_slotinfo_list) + for being null before calling free_slotinfo. + * elf/dl-load.c (_dl_map_object_from_fd) [SHARED]: For PT_TLS in + dynamic loading, bail with error if GL(dl_tls_max_dtv_idx) is zero. + +2002-11-30 Bruno Haible + + * iconv/gconv.h (__gconv_btowc_fct): New typedef. + (struct __gconv_step): New field __btowc_fct. + * wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible. + * iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from + __BUILTIN_TRANS. + (__gconv_btwoc_ascii): New declaration. + * iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument. + (__gconv_btwoc_ascii): New function. + * iconv/gconv_builtin.h: Add BtowcFct argument to all + BUILTIN_TRANSFORMATION invocations. + * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument. + * iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise. + * iconv/gconv_builtin.c (map): New field btowc_fct. + (BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize + btowc_fct field. + (__gconv_get_builtin_trans): Initialize __btowc_fct field. + * iconv/gconv_cache.c (find_module): Initialize __btowc_fct field. + * iconv/gconv_db.c (gen_steps, increment_counter): Likewise. + * wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise. + * iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE. + (gconv_init): Initialize __btowc_fct field. + Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end. + * iconv/loop.c: Document ONEBYTE_BODY. + (gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined. + Undefine ONEBYTE_BODY at the end. + * iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro. + * iconvdata/8bit-gap.c (NONNUL): New macro. + (BODY for FROM_LOOP): Use it. + (ONEBYTE_BODY): New macro. + * iconvdata/isiri-3342.c (HAS_HOLES): Set to 1. + (NONNUL): New macro. + * iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro. + * iconvdata/armscii-8.c (ONEBYTE_BODY): New macro. + * iconvdata/cp1255.c (ONEBYTE_BODY): New macro. + * iconvdata/cp1258.c (ONEBYTE_BODY): New macro. + * iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro. + * iconvdata/big5.c (ONEBYTE_BODY): New macro. + * iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro. + * iconvdata/euc-cn.c (ONEBYTE_BODY): New macro. + * iconvdata/euc-jp.c (ONEBYTE_BODY): New macro. + * iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro. + * iconvdata/euc-kr.c (ONEBYTE_BODY): New macro. + * iconvdata/euc-tw.c (ONEBYTE_BODY): New macro. + * iconvdata/gbk.c (ONEBYTE_BODY): New macro. + * iconvdata/gb18030.c (ONEBYTE_BODY): New macro. + * iconvdata/ibm932.c: Include . + (TRUE, FALSE): Remove macros. + (BODY for FROM_LOOP): Remove unused variable rp1. + (ONEBYTE_BODY): New macro. + (BODY for TO_LOOP): Use bool. + * iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array. + * iconvdata/ibm943.c: Include . + (TRUE, FALSE): Remove macros. + (BODY for FROM_LOOP): Remove unused variable rp1. + (ONEBYTE_BODY): New macro. + (BODY for TO_LOOP): Use bool. + * iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array. + * iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro. + * iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro. + * iconvdata/iso_6937.c (ONEBYTE_BODY): New macro. + * iconvdata/johab.c (ONEBYTE_BODY): New macro. + * iconvdata/sjis.c (ONEBYTE_BODY): New macro. + * iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro. + * iconvdata/t.61.c (ONEBYTE_BODY): New macro. + * iconvdata/uhc.c (ONEBYTE_BODY): New macro. + * iconvdata/gbbig5.c: Tweak comment. + +2002-12-02 Ulrich Drepper + + * po/fi.po: Update from translation team. + +2002-12-01 Roland McGrath + + * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition + testing getdents64 return value. + + * scripts/versions.awk: Don't pass -n flag to sort command. + + * posix/bug-regex13.c: Include . + + * sysdeps/generic/libc-start.c (__libc_start_main): Do + DL_SYSDEP_OSCHECK here. + * sysdeps/unix/sysv/linux/init-first.c (init): Not here. + * sysdeps/unix/sysv/linux/dl-osinfo.h: Include . + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if + argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset + instead of l_type to decide whether to use TLS_DTV_UNALLOCATED. + + * include/link.h: Comment typo fix. + +2002-12-01 Roland McGrath + + * sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L. + (_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE, + _POSIX_MEMORY_PROTECTION): Likewise. + (_POSIX_POLL, _POSIX_SELECT): Removed. + +2002-11-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which + require it to 200112L. Remove _POSIX_POLL and _POSIX_SELECT. + +2002-11-28 Jakub Jelinek + + * sysdeps/unix/alpha/sysdep.S: Change defined(USE___THREAD) to + USE___THREAD. + * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall*): Avoid + "=v" constraints. + +2002-11-28 Ulrich Drepper + + * sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's + branch prediction buffers by using unpaired call/ret. + +2002-11-27 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Fix typo in + first parameters constraint string. + (ASMFMT_3): Likewise. Patch by stefan.lauterbach@mincom.de. + +2002-11-27 Isamu Hasegawa + + * posix/regcomp.c (parse_expression): Set the bit since the back + reference is used in the regular expression. + * posix/regex_internal.c (re_node_set_init_1): Make it clean in case + of malloc failure. + (re_node_set_init_copy): Likewise. + * posix/regex_internal.h (state_array_t): New structure. + (re_sub_match_last_t): Likewise. + (re_sub_match_top_t): Likewise. + (re_match_context_t): Add new members. + (re_dfa_t): Likewise. + * posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes + to check the matching is really correct, and retry if failed. + Move the routin pruning the impossible nodes from here, ... + (prune_impossible_nodes): To this function. + (check_matching): Invoke check_subexp_matching_top, and replace + redundant checking with transit_state_bkref invocation. + (proceed_next_node): Replace strncmp with memcmp. Reported by + Paolo Bonzini . + (update_cur_sifted_state): Remove search_subexp invocation. + (search_subexp): Remove this function. + (check_dst_limits_calc_pos): Use search_cur_bkref_entry for + optimization. + (sift_states_bkref): Use search_cur_bkref_entry for optimization. + Remove unused invocation of match_ctx_add_entry. + (transit_state): Invoke check_subexp_matching_top. + (check_subexp_matching_top): New function. + (transit_state_bkref): Remove unused array. + Merge transit_state_bkref_loop. + (transit_state_bkref_loop): Use get_subexp instead of + sift_states_backward. Use search_cur_bkref_entry for optimization. + Merge this function to transit_state_bkref. + (get_subexp): New function. + (get_subexp_sub): Likewise. + (find_subexp_node): Likewise. + (check_arrival): Likewise. + (check_arrival_expand_ecl): Likewise. + (check_arrival_expand_ecl_sub): Likewise. + (expand_bkref_cache): Likewise. + (match_ctx_init): Initialize new members. + (match_ctx_clean): New function. + (match_ctx_free): Release new members. + (match_ctx_free_subtops): New function. + (match_ctx_add_entry): Fix indent. + (search_cur_bkref_entry): New function. + (match_ctx_add_subtop): Likewise. + (match_ctx_add_sublast): Likewise. + +2002-11-25 Ulrich Drepper + + * iconv/Makefile (tests): Remove tst-iconv4.c + * iconv/tst-iconv4.c: Moved to... + * iconvdata/tst-iconv4.c: ...here. New file. + * iconvdata/Makefile (tests): Add tst-iconv4. Add dependencies. + +2002-11-25 Roland McGrath + + * inet/test-ifaddrs.c (main: addr_string): Handle null SA. + Grok AF_LINK if defined. + From Momchil Velikov . + + * sysdeps/gnu/ifaddrs.c (getifaddrs): If ioctl fails for netmask, + brdaddr, or dstaddr, just set those pointers to null and don't fail. + Reported by Momchil Velikov . + + * sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: If sa_len + is > sizeof IFR->ifa_addr, advance past the whole longer length. + (__ifreq): Count up NIFS that way too. + Reported by Momchil Velikov . + + * sysdeps/mach/hurd/lchmod.c: Include . + + * sysdeps/mach/hurd/i386/init-first.c: Include + and . + +2002-11-24 Ulrich Drepper + + * elf/elf.h (EM_ST19): Fix typo. + +2002-11-25 Jakub Jelinek + + * include/errno.h (__set_errno): Define as errno = val + unconditionally. + +2002-11-24 Roland McGrath + + * sysdeps/posix/readv.c: Include , use __set_errno macro. + * sysdeps/posix/writev.c: Likewise. + From Momchil Velikov . + + * elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of + calling *GL(dl_error_catch_tsd) for a thread-local location. + * elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT]. + (dl_main): Same for GL(dl_error_catch_tsd) initialization. + * elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT]. + + * libio/iofflush.c: Add libc_hidden_def. + * libio/iofwrite.c: Likewise. + * sysdeps/generic/sigtimedwait.c: Likewise. + * sysdeps/generic/sigwaitinfo.c: Likewise. + * sysdeps/posix/sigwait.c: Likewise. + Reported by Momchil Velikov . + + * inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t + to match declaration. + * inet/inet_netof.c (inet_netof): Likewise. + * inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types. + Reported by Momchil Velikov . + + * configure.in: Skip AUTOCONF check under --without-cvs. + * configure: Regenerated. + + * posix/Makefile (headers): Add bits/pthreadtypes.h. + * sysdeps/unix/sysv/linux/Makefile (sysdep_heaers): Don't add it here. + * sysdeps/unix/sysv/linux/Dist: Remove it from the list. + +2002-11-24 Andreas Schwab + + * sysdeps/unix/sysv/linux/m68k/sysdep.h: Support inline syscall + with six arguments. + +2002-11-19 Jim Meyering + + * time/mktime.c (__mon_yday, __mktime_internal) [!_LIBC]: Declare + as `static'. + * time/strptime.c (__mon_yday) [!_LIBC]: Declare as `static'. + +2002-11-23 Roland McGrath + + * scripts/abilist.awk: Avoid strtonum function, not there in mawk. + Just produce hex output for datum sizes. + + * elf/Makefile ($(objpfx)librtld.mk): Tighten up regexp. + Reported by Luca Barbieri . + +2002-11-20 Steven Munroe + + * sysdeps/unix/sysv/linux/powerpc/bits/msq.h (msqid_ds) + [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2, + and __unused3 fields. + * sysdeps/unix/sysv/linux/powerpc/bits/sem.h (semid_ds) + [__WORDSIZE == 32]: Only PPC32 requires __unused1 + and __unused2 fields. + * sysdeps/unix/sysv/linux/powerpc/bits/shm.h (shmid_ds) + [__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2, + __unused3, and __unused4 fields. + + * csu/gmon-start.c (__gmon_start__): Always use TEXT_START macro to + obtain lowest address for profiling in __monstartup call. + +2002-11-21 Roland McGrath + + * sysdeps/ia64/fpu/Makefile (libm-sysdep_routines): Remove redunant + $(calls) $(calls:=f) $(long-c-$(long-double-fcts)). + + * locale/localeinfo.h (struct locale_data): Revert last change. + + * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_exit_group): Add it. + From Ian Wienand . + + * sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_pread): Define to + __NR_pread64 if not defined. + (__NR_pwrite): Define to __NR_pwrite64 if not defined. + From Ian Wienand . + +2002-11-21 Roland McGrath + + * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set + __libc_multiple_libcs here. Call __setfpucw. + +2002-11-21 Ulrich Drepper + + * elf/Makefile (tests): Don't run test-arrayX tests for now. + + * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags. + * sysdeps/unix/sysv/linux/i386/clone.S: Add support for + CLONE_CHILD_*TID flags. + +2002-11-20 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): + We pass struct ucontext on x86-64. + (GET_PC): Adjust. + (GET_FRAME): Adjust. + (GET_STACK): Adjust. + +2002-11-20 Roland McGrath + + * sysdeps/powerpc/powerpc32/dl-machine.c [! SHARED]: Further + conditionalize [! DO_VERSIONING] #error. + + * scripts/abilist.awk: Grok function descriptor symbols. + + * intl/tst-gettext.c (main): Check return values from setlocale. + Add necessary unsetenv's to make LANG=existing-locale check work. + + * intl/tst-gettext.sh: Use mkdir -p. Copy test files unconditionally, + so aborted prior runs don't confuse things. + + * locale/localeinfo.h (struct locale_data: union locale_data_value): + Use uintptr_t instead of unsigned int for `word' member. + (_NL_CURRENT_WORD): Cast to uint32_t. + + * posix/bug-regex5.c (main): Use union to extract _NL_COLLATE_NRULES + value. + +2002-11-20 Ulrich Drepper + + * elf/tls-macros.h: Add IA-64 definitions. + Patch by Ian Wienand . + + * iconv/Makefile (tests): Add tst-iconv4. + * iconv/tst-iconv4.c: New file. + + * iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return + __GCONV_EMPTY_INPUT only if input is really empty. Otherwise + __GCONV_INCOMPLETE_INPUT. + (ucs4le_internal_loop): Likewise. + (ucs4le_internal_loop_unaligned): Likewise. + * iconvdata/unicode.c (PREPARE_LOOP): Likewise. + * iconvdata/utf-16.c (PREPARE_LOOP): Likewise. + * iconvdata/utf-32.c (PREPARE_LOOP): Likewise. + + * iconv/loop.c (LOOPFCT): First test for empty input then for full + output buffer. + + * inet/getnameinfo.c: Use extend_alloca where appropriate. + * sysdeps/posix/getaddrinfo.c: Likewise. + + * include/alloca.h (extend_alloca): New define. Based on stack + direction it'll try to append to the previouls allocated buffer. + +2002-11-07 Thorsten Kukuk + + * sysdeps/posix/getaddrinfo.c (gaih_inet): If AF_UNSPEC is set, + use the same service for AF_INET and AF_INET6. + +2002-11-19 Ulrich Drepper + + * intl/localealias.c (read_alias_file): Use only about 400 bytes + of stack space instead of 16k. + +2002-11-18 Wolfram Gloger + + * malloc/arena.c + (ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_unlock_all2): Do + nothing if not initialized. Bug report from Marcus Brinkmann + . + +2002-11-19 Roland McGrath + + * posix/Versions (libc: GLIBC_2.3.2): Add sched_getaffinity and + sched_setaffinity. + + * configure.in (libc_cv_gcc_dwarf2_unwind_info check): Use libraries + `-lgcc -lgcc_eh -lgcc', not just `-lgcc -lgcc_eh' in link commands for + test leading to libc_cv_gcc_dwarf2_unwind_info=no_registry_needed. + * configure: Regenerated. + +2002-11-19 Ulrich Drepper + + * include/dlfcn.h: __libc_dlopen is now a macro calling + __libc_dlopen_mode with the extra parameter RTLD_LAZY. + (__libc_dlopen_mode): New prototype. + * elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen. Add + new parameter. Store new parameter in mode field of structure passed + to do_dlopen. + (struct do_dlopen_args): Add new field mode. + (do_dlopen): Pass mode from parameter structure to _dl_open. + +2002-11-11 Randolf Chung + + * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h [__USE_FILE_OFFSET64] + (F_GETLK, F_SETLK, F_SETLKW): Define to F_*64 versions. + * sysdeps/unix/sysv/linux/hppa/fcntl.c: New file. + + * sysdeps/hppa/fpu/libm-test-ulps: New file (generated). + + * sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable. + Set -mdisable-fpregs for this file. + +2002-11-11 Carlos O'Donell + + * sysdeps/unix/sysv/linux/configure.in: + Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols + from gcc-3.0 era for backwards compatibility. + * sysdeps/unix/sysv/linux/configure: Regenerate. + + * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: + Define mcontext_t as a sigcontext. + +2002-11-18 Roland McGrath + + * dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)). + Free memory in `last_result' if it was used. + + * resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search + all aliases for one that matches the ".IN-ADDR.ARPA" form. + Do the parsing inline instead of copying strings and calling + inet_network, and properly skip all alias names not matching the form. + + * manual/pattern.texi (Variable Substitution): Fix # and ## examples. + +2002-11-17 Ulrich Drepper + + * manual/pattern.texi (Wordexp Example): Fix sample code. + + * sysdeps/unix/sysv/linux/i386/clone.S: Initialize word in the + childs stack which will be loaded into the %esi register. + +2002-11-14 Paul Eggert + + * resolv/nss_dns/dns-network.c (getanswer_r): Check for buffer + overflow when skipping the question part and when unpacking aliases. + +2002-11-15 Roland McGrath + + * math/Makefile (libm-calls): Remove s_copysign, s_isinf, s_isnan, + s_finite, s_modf, s_scalbn, s_frexp, m_ldexp, s_signbit. + Instead add $(calls:s_%=m_%) to get m_* versions of them all. + +2002-11-15 Jakub Jelinek + + * sysdeps/i386/dl-machine.h (elf_machine_rela): Handle R_386_COPY. + * sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY. + +2002-11-15 Roland McGrath + + * math/Makefile (libm-calls): Change s_ldexp to m_ldexp. + * Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc] + from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep). + (+make-include-of-dep): New canned sequence. + + * stdlib/canonicalize.c (__realpath): Check for malloc failure. + From Dmitry V. Levin . + +2002-11-14 Roland McGrath + + * sysdeps/generic/errno.c (__libc_errno): Remove alias. + * inet/herrno.c (__libc_h_errno): Likewise. + * resolv/res_libc.c (__libc_res): Likewise. + [USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD]. + (__res_state) [! USE___THREAD]: Don't define as weak. + * csu/Versions: Revert last change. + * resolv/Versions: Revert last change. + + * Makerules ($(common-objpfx)%.make): New pattern rule. + * tls.make.c: New file. + * Makefile (distribute): Add it. + + * sysdeps/generic/errno.c [! USE___THREAD] + [HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these + with compat_symbol so they are not link-time visible. + [! USE___THREAD] (__libc_errno): New alias for errno. + * csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE): + Add __libc_errno here. + * inet/herrno.c [USE___THREAD]: Use this conditional + in place of [USE_TLS && HAVE___THREAD]. + [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] + (h_errno, _h_errno): Declare these with compat_symbol so they are not + link-time visible. + [! USE___THREAD] (__libc_h_errno): New alias for h_errno. + * resolv/res_libc.c [! USE___THREAD] + [HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise. + (_res): Use __attribute__ ((section (".bss"))) so we can have an alias. + (__libc_res): Define as alias for _res. + * resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE): + Add __libc_h_errno and __libc_res here. + +2002-11-14 Jakub Jelinek + + * csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now. + * resolv/Versions (h_errno, _res): Likewise. + +2002-11-14 Roland McGrath + + * Makerules (%.dynsym): Remove $(objpfx) from target and dep. + (%.symlist): Likewise. + +2002-11-13 Roland McGrath + + * scripts/abilist.awk: New file. + * Makefile (distribute): Add it. + * Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules. + (tests): Depend on .symlist file for each $(install-lib.so-versioned). + [$(subdir) = elf] (tests): Depend on libc.symlist. + (generated, common-generated): Add those files. + + * aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP. + * configure: Regenerated. + * config.make.in (OBJDUMP): New variable, substituted by configure. + + * malloc/mcheck.c (struct hdr): New members `block' and `magic2'. + (mallochook, reallochook): Set them up. + (checkhdr): Check HDR->magic2 value. + (freehook): Reset HDR->magic2. + (memalignhook): New static function. + (old_memalign_hook): New static variable. + (mcheck, reallochook): Set __memalign_hook to memalignhook. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Zero the space + for the new TCB. + +2002-11-13 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Check for visibility + attribute. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + +2002-11-11 Paul Eggert + + * manual/crypt.texi (Cryptographic Functions): Mention that + the MD5 one-way algorithm is compatible with BSD's. + +2002-11-11 Isamu Hasegawa + + * posix/regex_internal.c (re_string_skip_chars): Also return the last + wide character. + (re_string_reconstruct): Calculate the context by itself when the + offset points out of the valid range. + (re_string_context_at): Use wide character when MB_CUR_MAX > 1. + * posix/regex_internal.h (WIDE_NEWLINE_CHAR): New macro. + (IS_WIDE_WORD_CHAR): New macro. + (IS_WIDE_NEWLINE): New macro. + +2002-11-12 Andreas Jaeger + + * sysdeps/x86_64/strchr.S: Don't use one register for two + purposes, this fixes a bug noticed by test-strchr.c. + + * sysdeps/x86_64/strcat.S: Fix algorithm to align source pointer + correctly. + +2002-11-12 Roland McGrath + + * libio/libioP.h [_LIBC && !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)] + (_G_IO_NO_BACKWARD_COMPAT): Define it. + + * sysdeps/ia64/dl-fptr.c [_LIBC_REENTRANT]: Include + instead of . + [_LIBC_REENTRANT] (lock, unlock): Use __sync_lock_* macros instead of + testandset. + From Ian Wienand . + +2002-11-10 Roland McGrath + + * libio/bug-wfflush.c (do_test): Call rewind instead of fsetpos. + Call fputs instead of fwprintf (simpler to follow in debugger). + + * crypt/md5-crypt.c: Doc fix. + + * sysdeps/unix/make-syscalls.sh: Insert $(make-target-directory) at + the beginning of generated target commands. + + * csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit + dependencies for these in case implicit rule search skipped the + nonexistent source directory. + * sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the + files with $(object-suffixes) as targets too. + * Makerules [no_deps && objpfx] (before-compile): Add $(objpfx). + and a target for it using $(make-target-directory). + + * Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h. + +2002-11-10 Roland McGrath + + * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ... + * sysdeps/generic/bits/pthreadtypes.h: ... here. + + * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Treat a struct flock with + l_start == 0 and l_len == 1 as we do l_len == 0. + +2002-11-10 Ulrich Drepper + + * po/da.po: Update from translation team. + +2002-11-10 Roland McGrath + + * config.make.in (includedir): New variable, substituted by configure. + Reported missing by Jocelyn Fournier . + * Makeconfig (includedir): Use $(prefix), not $(exec_prefix). + +2002-11-10 Andreas Jaeger + + * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h (enum): Add + REG_OLDMASK and REG_CR2 to synch with kernel header. + (NGREG): Increase. + + * nss/getXXent.c (GETFUNC_NAME): Use union type to avoid strict + aliasing problem. + * nss/getXXbyYY_r.c (INTERNAL): Likewise. + * nss/getnssent_r.c (__nss_getent_r): Likewise. + (__nss_setent): Likewise. + (__nss_getent_r): Likewise. + * inet/getnetgrent_r.c (innetgr): Likewise. + (__internal_setnetgrent_reuse): Likewise. + (internal_getnetgrent_r): Likewise. + * inet/ether_hton.c (ether_hostton): Likewise. + * inet/ether_ntoh.c (ether_ntohost): Likewise. + * sunrpc/netname.c (netname2user): Likewise. + * sunrpc/publickey.c (getpublickey): Likewise. + (getsecretkey): Likewise. + +2002-11-09 Marcus Brinkmann + + * sysdeps/mach/hurd/i386/ioperm.c (ioperm): Correct off by one + error in range calculation. + +2002-10-09 Jakub Jelinek + + * string/test-strspn.c (do_test): Ensure zero termination. + * string/test-strpbrk.c (do_test): Likewise. + * string/test-strncmp.c (stupid_strncmp): Use strnlen, not strlen. + * string/test-strncpy.c (stupid_strncpy): Likewise. + * string/test-stpncpy.c (stupid_stpncpy): Likewise. + +2002-10-08 Roland McGrath + + * string/test-string.h (test_init): Fill BUF1 and BUF2 with + nonzero characters. + +2002-09-22 H.J. Lu + + * sysdeps/unix/sysv/linux/mmap64.c (MMAP2_PAGE_SHIFT): Renamed + from PAGE_SHIFT. Define if not defined. Check MMAP2_PAGE_SHIFT + only if __NR_mmap2 is defined. + + * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Moved to ... + * sysdeps/unix/sysv/linux/mmap64.c: ... here. + * sysdeps/unix/sysv/linux/hppa/mmap64.c: File removed. + * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: FIle removed, + +2002-11-08 Jakub Jelinek + + * posix/bug-regex13.c (tests): Add new test. + + * string/test-strchr.c (stupid_strchr): New function. + (do_random_tests): Make sure the string is zero terminated. + * string/test-strpbrk.c (stupid_strpbrk): New function. + (do_random_tests): Make sure the string is zero terminated. + * string/test-strcmp.c (stupid_strcmp): New function. + (do_random_tests): Make sure the strings are zero terminated. + * string/test-strspn.c (stupid_strspn): New function. + (simple_strspn): Rename rej argument to acc. + (do_random_tests): Make sure the string is zero terminated. + * string/test-strcspn.c (stupid_strcspn): New function. + * string/test-strncpy.c (stupid_strncpy): New function. + * string/test-stpncpy.c (stupid_stpncpy): New function. + * string/test-strncmp.c (stupid_strncmp): New function. + (do_random_tests): Make sure the strings are zero terminated. + * string/test-string.h (impl_t): Change test into long. + (IMPL): Add __attribute__((aligned (sizeof (void *)))). + +2002-11-08 Roland McGrath + + * sysdeps/ia64/elf/configure.in: Add TLS check. + From Ian Wienand . + * sysdeps/ia64/elf/configure: Regenerated. + +2002-11-07 Roland McGrath + + * libio/fileops.c (_IO_new_file_overflow): Use INTUSE(_IO_do_write) in + place of _IO_new_do_write. + [_LIBC] (_IO_do_write): Define as macro for _IO_new_do_write and + #undef before versioned_symbol use. + +2002-11-07 Richard Henderson + + * configure.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove test. + * configure: Regenerated. + * config.h.in (ASM_ALPHA_NG_SYMBOL_PREFIX): Remove #undef. + * sysdeps/alpha/dl-machine.h (TRAMPOLINE_TEMPLATE): Use !samegp. + (RTLD_START): Likewise. Access _dl_skip_args, _rtld_local, and + _dl_fini via gp-relative relocations. + * sysdeps/alpha/fpu/e_sqrt.c: Use !samegp. + + * elf/tls-macros.h: Add alpha versions. + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Handle TLS relocs. + * sysdeps/unix/alpha/sysdep.S: Support USE___THREAD. + * sysdeps/unix/alpha/sysdep.h: Likewise. Add SYSCALL_ERROR_HANDLER. + * sysdeps/unix/sysv/linux/alpha/brk.S: Use it. + * sysdeps/unix/sysv/linux/alpha/clone.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/getitimer.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/getrusage.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/select.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/setitimer.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/settimeofday.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/sigsuspend.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/syscall.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/utimes.S: Likewise. + * sysdeps/unix/sysv/linux/alpha/wait4.S: Likewise. + + * sysdeps/unix/sysv/linux/alpha/sysdep.h: Re-include protect. + Kill argument registers across the inline syscall. + + * sysdeps/unix/sysv/linux/alpha/clone.S: Add user_tid and tls args. + + * linuxthreads/sysdeps/alpha/tls.h: New file. + * sysdeps/alpha/dl-tls.h: New file. + +2002-10-29 David Mosberger + + * sysdeps/ia64/elf/initfini.c [HAVE_INITFINI_ARRAY] + (gmon_initializer): New function. + (.init prologue): If HAVE_INITFINI_ARRAY is true, don't call + __gmon_start__ here. Call it from gmon_initializer() instead. + +2002-03-12 H.J. Lu + + * elf/Makefile [$(have-initfini-array) = yes] (tests): Add tst-array1, + tst-array2, and tst-array3. + [$(have-initfini-array) = yes] (tests-static): Add tst-array3. + [$(have-initfini-array) = yes] (modules-names): Add tst-array2dep. + ($(objpfx)tst-array1.out): New target. + ($(objpfx)tst-array2): Likewise. + ($(objpfx)tst-array2.out): Likewise. + ($(objpfx)tst-array3.out): Likewise. + * elf/tst-array1.c: New file. + * elf/tst-array1.exp: Likewise. + * elf/tst-array2.c: Likewise. + * elf/tst-array2dep.c: Likewise. + * elf/tst-array2.exp: Likewise. + * elf/tst-array3.c: Likewise. + +2002-10-28 David Mosberger + + * elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order. + Don't add L->l_addr to array entry values. + +2002-11-07 Jakub Jelinek + + * string/test-string.h: New file. + * string/test-strlen.c: New file. + * string/test-string.h: New file. + * string/test-strcmp.c: New file. + * string/test-strchr.c: New file. + * string/test-strrchr.c: New file. + * string/test-strcpy.c: New file. + * string/test-stpcpy.c: New file. + * string/test-strncpy.c: New file. + * string/test-stpncpy.c: New file. + * string/test-strpbrk.c: New file. + * string/test-strcspn.c: New file. + * string/test-strspn.c: New file. + * string/test-strcat.c: New file. + * string/test-strncmp.c: New file. + * string/test-memchr.c: New file. + * string/test-memcmp.c: New file. + * string/test-memset.c: New file. + * string/test-memcpy.c: New file. + * string/test-mempcpy.c: New file. + * string/test-memmove.c: New file. + * string/Makefile (strop-tests): New variable. + (tests): Add strop-tests. + (distribute): Add test-string.h. + +2002-11-06 Ulrich Drepper + + * posix/regcomp.c: Use tabs instead of spaces. + * posix/regexec.c: Likewise. + * posix/regex_internal.h: Likewise. + + * posix/regcomp.c (re_compile_fastmap_iter): Use __wcrtomb not wctomb. + +2002-11-06 Jakub Jelinek + + * posix/regcomp.c (re_compile_pattern): Don't set regs_allocated + here. + (regcomp): Don't set can_be_null here. + (re_comp): Clear whole re_comp_buf with the exception of fastmap. + (re_compile_internal): Clear can_be_null, set regs_allocated. + + * posix/regcomp.c (re_set_fastmap): New function. + (re_compile_fastmap_iter): Use it. Remove redundant type == + COMPLEX_BRACKET check. + * posix/regexec.c (re_search_internal): Optimize searching with + fastmap. Call re_string_reconstruct even if match_first is + smaller than raw_mbs_idx. + +2002-11-06 Isamu Hasegawa + + * posix/regcomp (free_dfa_content): Use free_state. + * posix/regex_internal.c (re_string_realloc_buffers): Don't edit + pointers in case that realloc failed. + (re_node_set_merge): Likewise. + (register_state): Likewise. + (create_newstate_common): Invoke memory release functions in case of + error conditions. + (create_ci_newstate): Likewise. + (create_cd_newstate): Likewise. + (free_state): New function. + * posix/regexec.c (re_search_internal): Invoke memory release + functions in case of error conditions. + (sift_states_backward): Likewise. + (merge_state_array): Likewise. + (add_epsilon_src_nodes): Likewise. + (sub_epsilon_src_nodes): Likewise. + (search_subexp): Likewise. + (sift_states_bkref): Likewise. + (transit_state_sb): Likewise. + (transit_state_mb): Likewise. + (transit_state_bkref_loop): Likewise. + (group_nodes_into_DFAstates): Likewise. + (push_fail_stack): Don't edit pointers in case that realloc failed. + (extend_buffers): Likewise. + (match_ctx_add_entry): Likewise. + +2002-11-06 Roland McGrath + + * sysdeps/unix/sysv/linux/mips/configure.in: File removed. + * sysdeps/unix/sysv/linux/mips/configure: Likewise. + + * configure.in: Add checks on as and ld for binutils 2.13 or later. + * configure: Regenerated. + +2002-11-06 Ulrich Drepper + + * posix/regcomp.c (regcomp): __re_compile_fastmap can never fail. + If re_compile_internal failed free fastmap buffer. + (free_dfa_content): Broken out of regfree function. Frees all dfa + related data. + (regfree): Add free_dfa_content. + (re_compile_internal): If any of the called functions fails free + all dfa related memory. + +2002-11-05 Ulrich Drepper + + * sysdeps/unix/sysv/linux/sys/sysctl.h: Add ugly hacks to prevent + warnings from the kernel headers. + +2002-11-05 Roland McGrath + + * sysdeps/unix/mips/sysdep.h [! __PIC__] (PSEUDO): Add nop after jump. + From Johannes Stezenbach . + + * sysdeps/unix/sysv/linux/mips/Versions (libc: GLIBC_2.0): Change + #errlist-compat magic comment to give 123 as size. + (libc: GLIBC_2.1): Remove this set, moving #errlist-compat magic to ... + (libc: GLIBC_2.2): ... here. + (libc: GLIBC_2.3): Likewise. + +2002-11-05 Ulrich Drepper + + * elf/dl-fini.c (_dl_fini): Correct the increment of l_opencount + which happens at the beginning so that we can unload modules in + __libc_freeres. + +2002-11-06 Kaz Kojima + + * sysdeps/sh/bits/setjmp.h (JB_SIZE): Define only + under [__USE_MISC || _ASM]. + + * elf/elf.h: Remove the obsolete SH TLS relocations. + +2002-11-05 Ulrich Drepper + + * posix/regcomp.c (regcomp): Initialize preg->can_be_null to zero. + +2002-11-05 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Handle + __NR_pread64 and __NR_pwrite64. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pread.c: Remove __NR_pread64 + and __NR_pwrite64. + Revert change to use INLINE_SYSCALL. + * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Revert change to use + INLINE_SYSCALL. + * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise. + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): + Update clobber list and add a comment about the syscall ABI. + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_pread64, + s_pwrite64, s_ftruncate, s_truncate): Re-add. + +2002-11-05 Jakub Jelinek + + * iconv/gconv_dl.c (free_mem): Clear loaded. + * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's + cleanup if any. + +2002-11-05 Ulrich Drepper + + * sysdeps/unix/sysv/linux/fexecve.c: Include . + + * libio/ioseekoff.c: Remove INTDEF. Define _IO_seekoff_unlocked. Same + as old code without locking. _IO_seekoff calls this function after + locking the stream. + * libio/ioseekpos.c: Likewise for _IO_seekpos. + * libio/libioP.h: Replace _IO_seekoff_internal and _IO_seekpos_internal + prototypes with _IO_seekoff_unlocked and _IO_seekpos_unlocked + prototypes. + * libio/iolibio.h (_IO_fseek): Call _IO_seekoff_unlocked instead + of _IO_seekoff_internal. + (_IO_rewind): Likewise. + * libio/ioftell.c: Likewise. + * libio/ftello.c: Likewise. + * libio/ftello64.c: Likewise. + * libio/iofgetpos.c: Likewise. + * libio/iofgetpos64.c: Likewise. + * libio/oldiofgetpos.c: Likewise. + * libio/oldiofgetpos64.c: Likewise. + * libio/iofsetpos.c: Call _IO_seekpos_unlocked instead of + _IO_seekpos_internal. + * libio/iofsetpos64.c: Likewise. + * libio/oldiofsetpos.c: Likewise. + * libio/oldiofsetpos64.c: Likewise. + +2002-11-04 Roland McGrath + + * sysdeps/unix/sysv/linux/powerpc/chown.c: Use INLINE_SYSCALL macro. + * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/ioctl.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pread.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/tcgetattr.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/tcsetattr.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ioctl, + s_chown, s_ftruncate64, s_mmap2, s_pread64, s_pwrite64, s_truncate64, + sys_fstat, sys_lstat, sys_mknod, sys_readv, sys_stat, sys_writev): + Remove these, no longer used. + +2002-11-04 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list (s_ipc, + s_llseek, s_readahead, s_execve, s_fcntl, s_fcntl64, s_fstat64, + s_getcwd, s_getdents, s_getdents64, s_getpmsg, s_getpriority, + s_getrlimit, s_lstat64, s_poll, s_ptrace, s_putpmsg, s_reboot, + s_setrlimit, s_sigaction, s_sigpending, s_sigprocmask, s_sigsuspend, + s_stat64, s_sysctl, s_ugetrlimit, s_ustat, s_vfork): Remove now unused + syscall stubs. + + * sysdeps/unix/sysv/linux/pwrite.c: Fix typo. + * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pread.c: Handle both __NR_pread64 + and __NR_pread. + * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Handle both __NR_pwrite64 + and __NR_pwrite. + * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. + +2002-11-03 Roland McGrath + + * sysdeps/generic/ldsodefs.h (struct rtld_global): New member + `_dl_tls_static_used'. + * sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable. + (__libc_setup_tls): Initialize it. Let the initial value of + _dl_tls_static_size indicate some surplus space in the computed value. + * elf/dl-open.c (_dl_tls_static_size): New variable. + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Initialize + _dl_tls_static_used. Add some surplus space into _dl_tls_static_size. + * elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function. + (CHECK_STATIC_TLS): Use it. + * elf/dl-close.c (_dl_close): Adjust _dl_tls_static_used when the + closed objects occupied a trailing contiguous chunk of static TLS area. + +2002-10-18 Bruno Haible + + * charmaps/ISO_5428: Use Greek characters introduced in Unicode 3.0. + +2002-11-04 Ulrich Drepper + + * libio/wfileops.c (_IO_wfile_seekoff): Don't modify _offset and + _wide_data->_IO_read_end if adjustment can be made in the current + buffer. + + * sysdeps/unix/sysv/linux/fexecve.c: New file. + + * libio/bug-wfflush.c (do_test): Using fseek is not allowed when + wide oriented streams are used. + + * nss/getXXent_r.c (ENDFUNC_NAME): Don't do anything if the + service hasn't been used [PR libc/4744]. + + * include/features.h: Use __STDC_VERSION__ not __STDC_VERSION. + Reported by Miloslav Trmac [PR libc/4766]. + + * manual/examples/dir.c: Don't include . + * manual/examples/select.c: Include for TEMP_FAILURE_RETRY. + Reported by Frédéric Delanoy . + +2002-11-02 H.J. Lu + + * stdio-common/reg-printf.c: Include . + +2002-11-03 Ulrich Drepper + + * sysdeps/generic/libc-tls.c: Define _dl_tls_static_used. + + * po/ca.po: Update from translation team. + * po/es.po: Likewise. + + * sysdeps/generic/segfault.c (catch_segfault): If HAVE_PROC_SELF + is defined write out memory map. + * sysdeps/unix/sysv/linux/segfault.c: New file. + +2002-11-02 Roland McGrath + + * sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use union type for + pointers that can alias. + Reported by Daniel Jacobowitz . + + * sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h: New file. + +2002-11-02 Roland McGrath + + * manual/filesys.texi (Reading/Closing Directory): Rewrite readdir_r + description to be clearer and to say that *RESULT is set to ENTRY. + +2002-10-30 Jakub Jelinek + + * posix/regexec.c (build_trtable): Alloca or malloc dests_node and + dests_ch arrays together. Alloca or malloc dest_states, + dest_states_word and dest_states_nl arrays together. Free memory on + error exit. + +2002-10-29 Daniel Jacobowitz + + * crypt/crypt_util.c (__init_des_r): Initialize current_salt + and current_saltbits. + +2002-11-02 Roland McGrath + + * stdio-common/reg-printf.c: Include . + +2002-11-02 H.J. Lu + + * sysdeps/unix/sysv/linux/mips/syscalls.list (s_execve): Set + caller to EXTRA instead of execve. + +2002-11-01 Roland McGrath + + * sysdeps/generic/errno-loc.c [! USE___THREAD]: Use this conditional + in place of [!(USE_TLS && HAVE___THREAD)]. + (__errno_location) [! USE___THREAD]: Define as strong, not weak. + +2002-10-31 Roger Sayle + + * sysdeps/i386/soft-fp/sfp-machine.h (_FP_NANFRAC_Q, _FP_NANSIGN_Q): + New macros. + * sysdeps/x86_64/soft-fp/sfp-machine.h: Likewise. + + * soft-fp/soft-fp.h: Allow sfp-machine.h to define FP_RND_NEAREST + without defining FP_ROUNDMODE. + +2002-10-29 Jakub Jelinek + + * sysdeps/gnu/siglist.c (PTR_SIZE_STR): Remove. + (__old_sys_siglist, __old_sys_sigabbrev): Use strong_alias and + declare_symbol. + * sysdeps/mach/hurd/siglist.h (OLD_SIGLIST_SIZE_STR): Remove. + (OLD_SIGLIST_SIZE): Define. + * sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): Remove. + (OLD_SIGLIST_SIZE): Define. + * sysdeps/unix/sysv/linux/arm/siglist.c: Remove. + +2002-11-01 Jakub Jelinek + + * sysdeps/ia64/strncpy.S: Fix recovery code. + +2002-10-30 Jakub Jelinek + + * include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn): + New macros. + * elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove + text_set_element. + * elf/dl-libc.c (free_mem): Likewise. + * iconv/gconv_conf.c (free_mem): Likewise. + * iconv/gconv_db.c (free_mem): Likewise. + * iconv/gconv_dl.c (free_mem): Likewise. + * iconv/gconv_cache.c (free_mem): Likewise. + * intl/finddomain.c (free_mem): Likewise. + * intl/dcigettext.c (free_mem): Likewise. + * locale/setlocale.c (free_mem): Likewise. + * misc/fstab.c (fstab_free): Likewise. + * nss/nsswitch.c (free_mem): Likewise. + * posix/regcomp.c (free_mem): Likewise. + * resolv/gai_misc.c (free_res): Likewise. + * stdlib/fmtmsg.c (free_mem): Likewise. + * sunrpc/clnt_perr.c (free_mem): Likewise. + * sysdeps/generic/setenv.c (free_mem): Likewise. + * sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise. + * sysdeps/pthread/aio_misc.c (free_res): Likewise. + * time/tzset.c (free_mem): Likewise. + * malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section. + * locale/loadarchive.c (_nl_archive_subfreeres): Likewise. + * malloc/set-freeres.c (__libc_freeres): Likewise. + + * login/getutent.c: Include stdlib.h instead of stddef.h. + (buffer): Change into pointer to utmp, add libc_freeres_ptr. + (__getutent): Allocate buffer the first time it is run. + * login/getutid.c: Include stdlib.h instead of stddef.h. + (buffer): Change into pointer to utmp, add libc_freeres_ptr. + (__getutid): Allocate buffer the first time it is run. + * login/getutline.c: Include stdlib.h instead of stddef.h. + (buffer): Change into pointer to utmp, add libc_freeres_ptr. + (__getutline): Allocate buffer the first time it is run. + * malloc/mtrace.c (malloc_trace_buffer): Change into char *. + (mtrace): Allocate malloc_trace_buffer. + * resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf. + * resolv/ns_print.c (ns_sprintrrf): Decrease size of t. + * string/strerror.c: Include libintl.h and errno.h. + (buf): New variable. + (strerror): Only allocate buffer if actually needed (unknown error). + * time/tzfile.c (transitions): Add libc_freeres_ptr. + (freeres): Remove. + +2002-10-25 Jakub Jelinek + + * include/libc-symbols.h (libc_freeres_ptr): New macro. + * malloc/set-freeres.c (__libc_freeres_ptrs): Define using + symbol_set_define. + (__libc_freeres): Free all pointers in that section. + * Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed + commands when creating .lds script. + (LDSEDCMD-c.so): New variable. + * inet/rcmd.c (ahostbuf): Change into char *. Add libc_freeres_ptr. + (rcmd_af): Use strdup to allocate ahostbuf. + * inet/rexec.c (ahostbuf): Change into char *. Add libc_freeres_ptr. + (rexec_af): Use strdup to allocate ahostbuf. + * stdio-common/reg-printf.c (printf_funcs): Remove. + (__printf_arginfo_table): Change into printf_arginfo_function **. + Add libc_freeres_ptr. + (__register_printf_function): Allocate __printf_arginfo_table + and __printf_function_table the first time it is called. + * stdio-common/printf-parse.h (__printf_arginfo_table): Change into + printf_arginfo_function **. + (parse_one_spec): Add __builtin_expect. + * grp/fgetgrent.c (buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * inet/getnetgrent.c (buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * intl/localealias.c (libc_freeres_ptr): Define if !_LIBC. + (string_space, map): Add libc_freeres_ptr. + (free_mem): Remove. + * misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr. + (free_mem): Remove. + * misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC. + (buffer): Add libc_freeres_ptr. + (free_mem): Remove for _LIBC. + * nss/getXXbyYY.c (buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * nss/getXXent.c (buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * pwd/fgetpwent.c (buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr. + (free_mem): Remove. + * shadow/fgetspent.c (buffer): Add libc_freeres_ptr. + (free_mem): Remove. + * sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr. + (free_mem): Remove. + * sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add + libc_freeres_ptr. + (free_mem): Remove. + * sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add + libc_freeres_ptr. + (free_mem): Remove. + +2002-10-30 Jakub Jelinek + + * malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias + instead of duplicating the whole function in libc. + +2002-10-31 Roland McGrath + + * sysdeps/i386/bits/byteswap.h [__GNUC__ < 2] (__bswap_32): + Renamed from __bswap_16 (typo fix). Reported by . + +2002-10-30 Jakub Jelinek + + * sysdeps/unix/sysv/linux/Makefile (syscall-%.h): Add -D for each + 32bit-predefine when creating .new32 list and -U for each + 32bit-predefine when creating .new64 list. + * sysdeps/unix/sysv/linux/x86_64/Makefile (32bit-predefine): New. + +2002-10-29 Andreas Schwab + + * sysdeps/generic/allocrtsig.c: Include , not + "testrtsig.h". Reported by Daniel Jacobowitz . + +2002-10-25 Roland McGrath + + * sysdeps/unix/sysv/linux/configure.in: Fix typo in last change. + * sysdeps/unix/sysv/linux/configure: Regenerated. + + * sysdeps/generic/ldsodefs.h: Remove [! SHARED] conditional from + _dl_starting_up decl. + +2002-10-20 H.J. Lu + + * sysdeps/unix/sysv/linux/configure.in: Don't check + /lib/modules/`uname -r`/build/include for kernel headers if + cross compiling. + * sysdeps/unix/sysv/linux/configure: Regenerated. + +2002-10-25 Roland McGrath + + * math/math.h (M_LOG2El): Correct the value. + From Stephen L Moshier . + + * sysdeps/unix/sysv/linux/init-first.c (init): Remove [! SHARED] + conditional from __libc_multiple_libcs access. Remove kludge for weak + symbol access with old compilers we no longer support. + * sysdeps/unix/sysv/aix/init-first.c (init): Likewise. + * sysdeps/generic/libc-start.c (__libc_start_main): Likewise. + +2002-10-25 Roland McGrath + + * sysdeps/posix/sigvec.c [SA_RESETHAND]: Disable wrapper hacks and + implement SV_RESETHAND by translating it to SA_RESETHAND. + +2002-10-23 Alexandre Oliva + + * elf/dl-reloc.c (_dl_reloc_bad_use): Print the full 32-bit relocation + type on ELF64 platforms. + +2002-10-24 Ulrich Drepper + + * elf/elf.h (R_X86_64_GOTTPOFF): Renamed from r_x86_64_GOTTPOFF. + + * elf/elf.h: Define ELF_NOTE_OS_FREEBSD and NT_TASKSTRUCT. + +2002-10-24 Jakub Jelinek + + * elf/dl-misc.c: Include . + (_dl_debug_vdprintf): Only take dl_load_lock if not _dl_starting_up. + + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INTERNAL_SYSCALL, + INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. + (INLINE_SYSCALL): Use that. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (INTERNAL_SYSCALL, + INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. + (INLINE_SYSCALL): Use that. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (INTERNAL_SYSCALL, + INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): New macros. + (INLINE_SYSCALL): Use that. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Include + dl-sysdep.h. + (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant. + (__INTERNAL_SYSCALL_STRING): Define. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include + dl-sysdep.h. + (SYSCALL_ERROR_HANDLER): Define RTLD_PRIVATE_ERRNO variant. + (__INTERNAL_SYSCALL_STRING): Define. + * sysdeps/unix/sysv/linux/sparc/sysdep.h (INLINE_SYSCALL): Pass + __SYSCALL_STRING to inline_syscall*. + (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): + New macros. + (inline_syscall0, inline_syscall1, inline_syscall2, inline_syscall3, + inline_syscall4, inline_syscall5, inline_syscall6): Add string + argument. + +2002-10-24 Roland McGrath + + * sysdeps/generic/ldsodefs.h (_dl_starting_up): Declare it here. + * sysdeps/unix/sysv/linux/init-first.c: Not here. + * sysdeps/powerpc/elf/libc-start.c: Or here. + * sysdeps/unix/sysv/aix/libc-start.c: Or here. + * sysdeps/unix/sysv/aix/start-libc.c: Or here. + * sysdeps/unix/sysv/aix/init-first.c: Or here. + * sysdeps/generic/libc-start.c: Or here. + * sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up + access with [! SHARED]. + * sysdeps/unix/sysv/aix/init-first.c (init): Likewise. + + * libio/bug-wfflush.c: New file. + * libio/Makefile (tests): Add bug-wfflush. + +2002-10-23 Roland McGrath + + * stdio-common/tst-fphex.c: New file. + * stdio-common/Makefile (tests): Add tst-fphex. + * sysdeps/generic/printf_fphex.c (__printf_fphex): Fix initialization + of WNUMEND. Fix counting of decimal point in WIDTH. Print '0' pad + chars always before the value digits. + Reported by James Antill . + +2002-10-24 Jakub Jelinek + + * posix/regcomp.c (re_comp): Call __regfree on re_comp_buf. + (free_mem): New function. + * posix/Makefile (tests): Add bug-regex14. Add bug-regex14-mem + if not cross compiling. + (generated): Add bug-regex14-mem and bug-regex14.mtrace. + (bug-regex14-ENV): Set. + (bug-regex14-mem): New target. + * posix/bug-regex14.c: New file. + +2002-10-23 Roland McGrath + + * elf/Makefile ($(objpfx)librtld.map): Use temporary file for output + target, so we don't touch it when the link fails. + + * libio/ftello.c (ftello): Use _IO_off64_t for type of POS. + Check for the result overflowing off_t and fail with EOVERFLOW. + * libio/ioftell.c (_IO_ftell): Likewise. + * libio/iofgetpos.c (_IO_new_fgetpos): Likewise. + + * login/logwtmp.c (logwtmp): If sizeof ut_tv != sizeof struct timeval, + use a temporary timeval on the stack for gettimeofday and copy it. + * login/logout.c (logout): Likewise. + Reported by Steven Munroe . + + * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): + Use __SWORD_TYPE instead of int for member types. + (struct statfs64): Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/statfs.h: New file. + * sysdeps/unix/sysv/linux/s390/bits/statfs.h: New file. + * sysdeps/unix/sysv/linux/ia64/bits/statfs.h: File removed. + * sysdeps/unix/sysv/linux/sparc/bits/statfs.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: File removed. + + * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Moved to ... + * sysdeps/unix/sysv/linux/bits/statvfs.h: ... here. + (ST_NODIRATIME): Restore fixed value of 2048. + * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: File removed. + * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: File removed. + + Rearranged definitions to reduce duplication. + * sysdeps/generic/bits/types.h: Rewritten, using macros from + and new header . + * posix/Makefile (headers): Add bits/typesizes.h here. + * sysdeps/generic/bits/typesizes.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file. + * sysdeps/mach/hurd/bits/typesizes.h: New file. + * sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed. + * sysdeps/unix/sysv/linux/bits/types.h: File removed. + * sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed. + * sysdeps/unix/sysv/linux/mips/bits/types.h: File removed. + * sysdeps/unix/sysv/linux/s390/bits/types.h: File removed. + * sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed. + * posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include + here, not in . + * signal/signal.h: Likewise. + + * streams/stropts.h: Include . + * streams/Makefile (headers): Add bits/xtitypes.h here. + * sysdeps/generic/bits/xtitypes.h: New file. + * sysdeps/s390/bits/xtitypes.h: New file. + * sysdeps/ia64/bits/xtitypes.h: New file. + * sysdeps/x86_64/bits/xtitypes.h: New file. + + * sysvipc/Makefile (headers): Add bits/ipctypes.h here. + * sysdeps/generic/bits/ipctypes.h: New file. + * sysdeps/mips/bits/ipctypes.h: New file. + * sysdeps/gnu/bits/shm.h: Include . + * sysdeps/gnu/bits/msq.h: Likewise. + * sysvipc/sys/ipc.h: Likewise. + +2002-10-22 Ulrich Drepper + + * elf/dl-load.c (struct filebuf): For buf element to have the + alignment of ElfXX_Ehdr since this is what will be stored in it. + +2002-10-22 Jakub Jelinek + + * locale/programs/locarchive.c (add_alias): Change locrec_offset arg + into pointer to locrec_offset. + (add_locale_to_archive): Adjust callers. Free normalized_name right + before returning, not immediately after add_locale, pass it to + add_alias if not NULL instead of name. Rename second normalized_name + occurence to nnormalized_codeset_name. + + * locale/programs/locarchive.c (enlarge_archive): Make sure + string_size is always a multiple of 4. + Reported by Andreas Schwab . + +2002-10-21 Andreas Schwab + + * sysdeps/unix/sysv/linux/ia64/syscalls.list (s_execve): Set + caller to EXTRA instead of execve, since the latter has a + higher-priority implementation in linuxthreads. + +2002-10-21 Roland McGrath + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize the static + slotinfo list's len member to the proper size, not just 1. + Initialize static_map.l_tls_initimage. + + * elf/dl-open.c (dl_open_worker): Fix loop searching for + dtv_slotinfo_list element containing new modules' l_tls_modid. + + * elf/tst-tls9.c, elf/tst-tls9-static.c: New files. + * elf/tst-tlsmod5.c, elf/tst-tlsmod6.c: New files. + * elf/Makefile (tests): Add tst-tls9. + (tests-static): Add tst-tls9-static. + (tst-tls9-static-ENV): New variable. + ($(objpfx)tst-tls9-static, $(objpfx)tst-tls9-static.out): New targets. + + * elf/dl-close.c (remove_slotinfo): Remove an assert; the number of + modids used by partially loaded modules being closed can't be known. + +2002-10-21 Isamu Hasegawa + + * posix/Makefile: Add a test case for the bug reported by Aharon + Robbins . + * posix/bug-regex13.c: New file. + * posix/regcomp.c (peek_token_bracket): Skip the byte already read. + +2002-10-21 Ulrich Drepper + + * csu/gmon-start.c: Pretty printing. + +2002-10-19 Art Haas + + * configure.in: Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS, + add AC_HELP_STRING to all AC_ARG_WITH and AC_ARG_ENABLE macros, + add autoconf quotes to the AC_CONFIG_AUX_DIR macro. + * configure: Regenerated. + +2002-10-19 Roland McGrath + + * configure.in: Call AC_CONFIG_SUBDIRS with empty argument + and then set $subdirs directly, because the new Autoconf breaks + compatibility in every way imaginable and insists on whining + about usage that worked since the dawn of time. + * configure: Regenerated. + + * configure: Regenerated (using Autoconf 2.54). + * sysdeps/alpha/elf/configure: Likewise. + * sysdeps/generic/configure: Likewise. + * sysdeps/i386/elf/configure: Likewise. + * sysdeps/ia64/elf/configure: Likewise. + * sysdeps/mach/hurd/configure: Likewise. + * sysdeps/mach/configure: Likewise. + * sysdeps/unix/configure: Likewise. + * sysdeps/unix/common/configure: Likewise. + * sysdeps/unix/sysv/aix/configure: Likewise. + * sysdeps/unix/sysv/linux/configure: Likewise. + * sysdeps/unix/sysv/linux/mips/configure: Likewise. + * sysdeps/x86_64/elf/configure: Likewise. + + * config.make.in: Nix completely-soft nonsense. + * configure.in: Likewise. Under --without-fp, use nofpu subdirectory + of machine directories instead of fpu subdirectory. + * sysdeps/powerpc/soft-fp/Makefile: Remove cruft added in last change. + * sysdeps/powerpc/nofpu/Makefile: Put it in this new file instead. + * sysdeps/powerpc/soft-fp/sim-full.c: Moved to ... + * sysdeps/powerpc/nofpu/sim-full.c: ... here. + * sysdeps/powerpc/soft-fp/fraiseexcpt.c: Moved to ... + * sysdeps/powerpc/nofpu/fraiseexcpt.c: ... here. + * sysdeps/powerpc/soft-fp/fegetexcept.c: Moved to ... + * sysdeps/powerpc/nofpu/fegetexcept.c: ... here. + * sysdeps/powerpc/soft-fp/fclrexcpt.c: Moved to ... + * sysdeps/powerpc/nofpu/fclrexcpt.c: ... here. + * sysdeps/powerpc/soft-fp/ftestexcept.c: Moved to ... + * sysdeps/powerpc/nofpu/ftestexcept.c: ... here. + * sysdeps/powerpc/soft-fp/fgetexcptflg.c: Moved to ... + * sysdeps/powerpc/nofpu/fgetexcptflg.c: ... here. + * sysdeps/powerpc/soft-fp/fsetexcptflg.c: Moved to ... + * sysdeps/powerpc/nofpu/fsetexcptflg.c: ... here. + * sysdeps/powerpc/soft-fp/fedisblxcpt.c: Moved to ... + * sysdeps/powerpc/nofpu/fedisblxcpt.c: ... here. + * sysdeps/powerpc/soft-fp/feenablxcpt.c: Moved to ... + * sysdeps/powerpc/nofpu/feenablxcpt.c: ... here. + * sysdeps/powerpc/soft-fp/fegetenv.c: Moved to ... + * sysdeps/powerpc/nofpu/fegetenv.c: ... here. + * sysdeps/powerpc/soft-fp/fesetenv.c: Moved to ... + * sysdeps/powerpc/nofpu/fesetenv.c: ... here. + * sysdeps/powerpc/soft-fp/fegetround.c: Moved to ... + * sysdeps/powerpc/nofpu/fegetround.c: ... here. + * sysdeps/powerpc/soft-fp/fesetround.c: Moved to ... + * sysdeps/powerpc/nofpu/fesetround.c: ... here. + * sysdeps/powerpc/soft-fp/feupdateenv.c: Moved to ... + * sysdeps/powerpc/nofpu/feupdateenv.c: ... here. + * sysdeps/powerpc/soft-fp/feholdexcpt.c: Moved to ... + * sysdeps/powerpc/nofpu/feholdexcpt.c: ... here. + * sysdeps/powerpc/soft-fp/fenv_const.c: Moved to ... + * sysdeps/powerpc/nofpu/fenv_const.c: ... here. + * sysdeps/powerpc/soft-fp/libm-test-ulps: Moved to ... + * sysdeps/powerpc/nofpu/libm-test-ulps: ... here. + * sysdeps/powerpc/soft-fp/soft-supp.h: Moved to ... + * sysdeps/powerpc/nofpu/soft-supp.h: ... here. + * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Moved to ... + * sysdeps/powerpc/nofpu/Versions: ... here, new file. + +2002-10-19 Bruno Haible + + * sysdeps/unix/bsd/bsd4.4/freebsd/sys/sysmacros.h: New file. + +2002-10-18 Roland McGrath + + * io/Makefile (routines): Add lchmod. + * io/sys/stat.h [__USE_BSD] (lchmod): Declare it. + * sysdeps/generic/lchmod.c: New file. + * sysdeps/mach/hurd/lchmod.c: New file. + * io/Versions (libc: GLIBC_2.3.2): New set, add lchmod. + +2002-10-18 Art Haas + + * configure.in: Remove remaining AC_FD_CC macros, and replace + AC_FD_MSG with AS_MESSAGE_FD. + +2002-10-18 Roland McGrath + + * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Fix + typos: VALUE -> FINALADDR. + + * sysdeps/unix/alpha/sysdep.h (INLINE_SYSCALL, INLINE_SYSCALL1) + (inline_syscall_clobbers, inline_syscall0, inline_syscall1) + (inline_syscall2, inline_syscall3, inline_syscall4, inline_syscall5) + (inline_syscall6): Move these macros ... + * sysdeps/unix/sysv/linux/alpha/sysdep.h: ... to here. + + * configure.in (libc_link_dests, libc_link_sources): Remove these + variables and the AC_LINK_FILES call. + + * sysdeps/powerpc/soft-fp/Versions (libc: GLIBC_2.3.2): Fix last + change to put new symbols here instead of in GLIBC_2.2. + * sysdeps/powerpc/Subdirs: Move this file ... + * sysdeps/powerpc/soft-fp/Subdirs: ... here. + +2002-10-07 Roland McGrath + + * sysdeps/generic/bits/time.h: Replaced with contents of the + sysdeps/unix/sysv/linux/i386/bits/time.h file. All the following + files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID + and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these + macros is ok even for architectures that don't now implement them. + * sysdeps/mach/hurd/bits/time.h: File removed. + * sysdeps/unix/sysv/linux/bits/time.h: File removed. + * sysdeps/unix/sysv/linux/i386/bits/time.h: File removed. + * sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed. + * sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed. + +2002-10-18 Jeff Bailey + + * configure.in: Replace obsolete AC_OUTPUT syntax with + AC_CONFIG_FILES, AC_CONFIG_COMMANDS, and new-type AC_OUTPUT trio. + + * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDEs for + _AS_PATH_SEPARATOR_PREPARE and _AS_TEST_PREPARE. + + * configure.in: Replace AC_FD_CC with AS_MESSAGE_LOG_FD. + * sysdeps/alpha/elf/configure.in: Likewise. + * sysdeps/i386/elf/configure.in: Likewise. + * sysdeps/mach/hurd/configure.in: Likewise. + * sysdeps/x86_64/elf/configure.in: Likewise. + + * configure.in: Use AC_CONFIG_SRCDIR and new AC_INIT syntax. + + * sysdeps/alpha/elf/configure.in: Remove unneeded sinclude statement. + * sysdeps/generic/configure.in: Likewise. + * sysdeps/i386/elf/configure.in: Likewise. + * sysdeps/ia64/elf/configure.in: Likewise. + * sysdeps/mach/configure.in: Likewise. + * sysdeps/mach/hurd/configure.in: Likewise. + * sysdeps/unix/configure.in: Likewise. + * sysdeps/unix/common/configure.in: Likewise. + * sysdeps/unix/sysv/aix/configure.in: Likewise. + * sysdeps/unix/sysv/linux/configure.in: Likewise. + * sysdeps/unix/sysv/linux/mips/configure.in: Likewise. + * sysdeps/x86_64/elf/configure.in: Likewise. + + * aclocal.m4: Use just the bits from AS_INIT that are needed for the + GLIBC_PROVIDES. Use plain comment instead of HEADER-COMMENT so + that it's obvious when extra autoconf machinery is being dragged in. + +2002-10-18 Roland McGrath + + * configure.in: Remove bogus echo included in + 2002-10-08 Aldy Hernandez change. + * configure: Regenerated. + +2002-10-18 Jakub Jelinek + + * sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline. + (statfs_filesize_max): New function. + * sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC, + JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC, + ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define. + * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use + statfs_filesize_max. + * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. + * sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed. + * sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed. + +2002-10-17 Roland McGrath + + * configure.in (MIG): Just AC_SUBST it here. + * configure: Regenerated. + * sysdeps/mach/configure.in (MIG): Do the AC_CHECK_TOOL here. + Adding final - argument to all AC_CHECK_HEADER uses for .defs files. + * sysdeps/mach/configure: Regenerated. + + * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_TR_SH_PREPARE]) + and AC_PROVIDE([_AS_CR_PREPARE]). + + * aclocal.m4 (GLIBC_PROVIDES): Add AC_PROVIDE([_AS_ECHO_N_PREPARE]). + Remove AC_LANG(C) call, instead just define([_AC_LANG], [C]). + + * elf/dl-support.c: Move _dl_tls_* variables to ... + * sysdeps/generic/libc-tls.c: ... here. + + * elf/dl-close.c (remove_slotinfo): Take new argument. If false, + allow IDX to be one past the current last slotinfo entry. + (_dl_close): Pass IMAP->l_init_called for that parameter. + +2002-10-07 Andreas Schwab + + * aclocal.m4: Fix for autoconf 2.53. + * configure.in: Likewise. Require autoconf 2.53. + +2002-10-08 Richard Henderson + + * soft-fp/op-4.h: Handle carry correctly in + __FP_FRAC_ADD_3, __FP_FRAC_ADD_4, __FP_FRAC_SUB_3, + __FP_FRAC_SUB_4, __FP_FRAC_DEC_3, __FP_FRAC_DEC_4. + * soft-fp/op-common.h: New macros _FP_DIV_MEAT_N_loop. + +2002-10-08 Aldy Hernandez + + * configure.in: Compute completely-soft. + * config.make.in: Make completely-soft available to sub-makes. + * sysdeps/powerpc/soft-fp/Makefile: Add gcc-single-routines and + gcc-double-routines. Add sim-full.c. Add fenv_const and + fe_nomask to libm-support. + * sysdeps/powerpc/soft-fp/sim-full.c: New file. + * sysdeps/powerpc/soft-fp/fraiseexcpt.c: New file. + * sysdeps/powerpc/soft-fp/fegetexcept.c: New file. + * sysdeps/powerpc/soft-fp/fclrexcpt.c: New file. + * sysdeps/powerpc/soft-fp/ftestexcept.c: New file. + * sysdeps/powerpc/soft-fp/fgetexcptflg.c: New file. + * sysdeps/powerpc/soft-fp/fsetexcptflg.c: New file. + * sysdeps/powerpc/soft-fp/fedisblxcpt.c: New file. + * sysdeps/powerpc/soft-fp/feenablxcpt.c: New file. + * sysdeps/powerpc/soft-fp/fegetenv.c: New file. + * sysdeps/powerpc/soft-fp/fesetenv.c: New file. + * sysdeps/powerpc/soft-fp/fegetround.c: New file. + * sysdeps/powerpc/soft-fp/fesetround.c: New file. + * sysdeps/powerpc/soft-fp/feupdateenv.c: New file. + * sysdeps/powerpc/soft-fp/feholdexcpt.c: New file. + * sysdeps/powerpc/soft-fp/fenv_const.c: New file. + * sysdeps/powerpc/soft-fp/libm-test-ulps: New file. + * sysdeps/powerpc/soft-fp/soft-supp.h: New file. + * sysdeps/powerpc/soft-fp/Versions: Add libgcc soft-float + symbols. Add __sim_disabled_exceptions, __sim_exceptions, + __sim_round_mode. + * sysdeps/powerpc/soft-float/Dist: Add sim-full.c, fenv_const.c. + * sysdeps/powerpc/soft-float/sfp-machine.h: Define + FP_HANDLE_EXCEPTIONS. + Define FP_ROUNDMODE. + Redefine FP_* macros to correspond to the FE_* bit positions. + Define FP_DIV_MEAT_S to _FP_DIV_MEAT_1_loop. + Define externs for __sim_exceptions, __sim_disabled_exceptions, + __sim_round_mode, __simulate_exceptions. + * sysdeps/powerpc/fpu/bits/fenv.h: Move file from here... + * sysdeps/powerpc/bits/fenv.h: ...to here. + +2002-10-06 Jakub Jelinek + + * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): + Store R_PPC_UADDR32 and R_PPC_UADDR16 one byte at a time. + Use __builtin_expect for R_PPC_ADDR24 overflow check. Fix + R_PPC_ADDR16, R_PPC_UADDR16 and R_PPC_ADDR14* overflow check, use + __builtin_expect. + +2002-10-15 Jakub Jelinek + + * include/resolv.h (__libc_res_nquery, __libc_res_nsearch, + __libc_res_nsend): New prototypes. + * resolv/res_query.c (QUERYSIZE): Define. + (__libc_res_nquery): Renamed from res_nquery. Added answerp + argument. Allocate only QUERYSIZE bytes first, if res_nmkquery + fails use MAXPACKET buffer. Call __libc_res_nsend instead of + res_nsend, pass answerp. + (res_nquery): Changed into wrapper around __libc_res_nquery. + (__libc_res_nsearch): Renamed from res_nsearch. Added answerp + argument. Call __libc_res_nquerydomain and __libc_res_nquery + instead of the non-__libc_ variants, pass them answerp. + (res_nsearch): Changed into wrapper around __libc_res_nsearch. + (__libc_res_nquerydomain): Renamed from res_nquerydomain. + Added answerp argument. Call __libc_res_nquery instead of + res_nquery, pass answerp. + (res_nquerydomain): Changed into wrapper around + __libc_res_nquerydomain. + * resolv/res_send.c: Include sys/ioctl.h. + (MAXPACKET): Define. + (send_vc): Change arguments. Reallocate answer buffer if it is + too small. + (send_dg): Likewise. + (__libc_res_nsend): Renamed from res_nsend. Added ansp argument. + Reallocate answer buffer if it is too small and hooks are in use. + Adjust calls to send_vc and send_dg. + (res_nsend): Changed into wrapper around __libc_res_nsend. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): Allocate + just 1K answer buffer on the stack, use __libc_res_nsearch instead + of res_nsearch. + (_nss_dns_gethostbyaddr_r): Similarly with __libc_res_nquery. + * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyaddr_r): Likewise. + (_nss_dns_getnetbyname_r): Similarly with __libc_res_nsearch. + * resolv/gethnamaddr.c (gethostbyname2): Likewise. + (gethostbyaddr): Similarly with __libc_res_nquery. + * resolv/Versions (libresolv): Export __libc_res_nquery and + __libc_res_nsearch at GLIBC_PRIVATE. + +2002-10-17 Roland McGrath + + * configure.in: Grok --without-__thread and disable HAVE___THREAD. + * configure: Regenerated. + + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Do CHECK_STATIC_TLS + before performing the reloc, not after. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. + +2002-10-17 Ulrich Drepper + + * locale/programs/locale.c (write_locales): Use 'm' flag in fopen call. + * locale/programs/linereader.c (lr_open): Likewise. + * locale/programs/charmap-dir.c (charmap_open): Likewise. + * locale/programs/locarchive.c (add_locale_to_archive): Likewise. + +2002-10-17 Isamu Hasegawa + + * posix/bug-regex11.c: Add a test case for the bug reported by + Paolo Bonzini . + * posix/regexec.c (sift_states_bkref): Use correct destination of + the back reference. + +2002-10-17 Roland McGrath + + * elf/dl-load.c (_dl_map_object_from_fd): Don't check DF_STATIC_TLS. + * elf/dl-reloc.c (_dl_relocate_object: CHECK_STATIC_TLS): New macro + to signal error if an IE-model TLS reloc resolved to a dlopen'd module. + * sysdeps/i386/dl-machine.h (elf_machine_rel, elf_machine_rela): + Call it after performing TPOFF relocs. + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. + * elf/dl-conflict.c (CHECK_STATIC_TLS): New macro (no-op). + + * elf/dl-close.c (remove_slotinfo): Change asserts so as not to crash + when closing a partially-initialized object. + + * elf/dl-load.c (_dl_map_object_from_fd) [! USE_TLS]: Call lose + instead of _dl_fatal_printf when we see PT_TLS. + + * Makeconfig (CPPFLAGS): Fix last change to use $(libof-$( + + * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Variable removed. + instead of += to append, to be sure $(lib) gets expanded at defn time. + (libof-$(cpp-src)): New variable, define this instead. + * extra-lib.mk (cpp-srcs-left): Reduce duplication in include setup. + (lib): Don't use override. + (CPPFLAGS-$(lib)): New variable, put -D's here. + * Makeconfig (CPPFLAGS): Use basename fn for CPPFLAGS-basename. + Also add $(CPPFLAGS-LIB) before the file-specific flags, for each + LIB found by $(libof-*) for basename, target, or source. + * Makerules (CPPFLAGS-nonlib): New variable. + * nscd/Makefile (lib): Set to nonlib when using cppflags-iterator.mk. + * locale/Makefile (lib): Likewise. + * sunrpc/Makefile (lib): Likewise. + + * sysdeps/unix/sysv/linux/fpathconf.c (LINUX_LINK_MAX): Move macro ... + * sysdeps/unix/sysv/linux/linux_fsinfo.h (LINUX_LINK_MAX): ... here. + * sysdeps/unix/sysv/linux/pathconf.h: New file. + (statfs_link_max): New function, guts from fpathconf.c. + * sysdeps/unix/sysv/linux/fpathconf.c: Rewritten using that. + * sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise. + * sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Rewritten + to use the linux/pathconf.c code by #include rather than duplication. + * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__pathconf): Likewise. + +2002-10-16 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): + Use __libc_errno only for libc itself. + +2002-10-16 Andreas Jaeger + + * sysdeps/x86_64/_mcount.S: Fix off-by-1 error in argument access. + +2002-10-16 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): + Use __libc_errno only for libc itself. + +2002-10-15 Roland McGrath + Jakub Jelinek + + * sysdeps/unix/sysv/linux/Makefile + ($(objpfx)syscall-%.h $(objpfx)syscall-%.d): Take code from + sparc/Makefile to produce a bi-arch file as needed. + That's now parameterized by the variable $(64bit-predefine). + Use LC_ALL=C for `comm' commands in that rule. + No longer conditional on [$(no_syscall_list_h)]. + * sysdeps/unix/sysv/linux/sparc/Makefile: Remove replacement rules. + (64bit-predefine): New variable. + * sysdeps/unix/sysv/linux/x86_64/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/Makefile: New file. + * sysdeps/unix/sysv/linux/powerpc/Makefile + (64bit-predefine): New variable. + +2002-10-15 Roland McGrath + + * sysdeps/unix/sysv/linux/Makefile + ($(objpfx)syscall-%.h $(objpfx)syscall-%.d) + + * login/utmp-private.h: Declare __libc_utmp_lock. + * sysdeps/unix/getlogin_r.c (getlogin_r): Take __libc_utmp_lock once + and call __libc_utmp_jump_table functions directly, instead of using + __setutent et al. + + * sysdeps/unix/sysv/linux/configure.in: Use case instead of if. + * sysdeps/unix/sysv/linux/configure: Regenerated. + + * sysdeps/gnu/bits/utmp.h: Include . + (struct lastlog) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: + Use int32_t for ll_time. + (struct utmp) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: + Use int32_t instead of long int for ut_session. + Use an anonymous struct with 32-bit fields for ut_tv. + * sysdeps/gnu/bits/utmpx.h: Include . + (struct utmpx) [__WORDSIZE == 64 && __WORDSIZE_COMPAT32]: Do the same + here as in utmp.h for `struct utmp'. + * sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: File removed. + * sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: File removed. + * sysdeps/unix/sysv/linux/sparc/bits/utmp.h: File removed. + * sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: File removed. + + * sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents + of the sysdeps/unix/sysv/linux/i386/bits/resource.h file. + All the following files were identical or equivalent to it. + * sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed. + + * sysdeps/unix/sysv/linux/bits/socket.h (struct msghdr): Use size_t + instead of int for msg_iovlen, instead of socklen_t for msg_controllen. + Other than the previously incorrect sign of msg_iovlen, this is a + no-op on 32-bit platforms. On 64-bit platforms it makes this header + match their layouts as well, so the following are now identical to it. + * sysdeps/unix/sysv/linux/s390/bits/socket.h: File removed. + * sysdeps/unix/sysv/linux/sparc/bits/socket.h: File removed. + * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: File removed. + * sysdeps/unix/sysv/linux/ia64/bits/socket.h: File removed. + * sysdeps/unix/sysv/linux/alpha/bits/socket.h: File removed. + +2002-10-15 Ulrich Drepper + + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_VFORK_SYSCALL): + Define for 2.4+ kernels. + + * sysdeps/unix/sysv/linux/i386/vfork.S: Optimize for kernels which + are known to have the vfork syscall. Don't confuse the CPUs + branch prediction unit by jumping to the return address. + + * sysdeps/unix/sysv/linux/alpha/fpathconf.c (__fpathconf): Add + support for reiserfs and xfs. + + * sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Add case for + XFS link count. + * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define XFS_SUPER_MAGIC + and XFS_LINK_MAX. + Patch by Eric Sandeen [PR libc/4706]. + +2002-10-16 Jakub Jelinek + + * include/libc-symbols.h (attribute_tls_model_ie): Define. + * include/errno.h (errno): Define to __libc_errno in libc.so. + Add attribute_tls_model_ie. + * include/netdb.h (h_errno): Define to __libc_h_errno in libc.so. + Add attribute_tls_model_ie. + * include/resolv.h (_res): Define to __libc_res in libc.so. Add + attribute_tls_model_ie. + * inet/herrno.c (__libc_h_errno): Add hidden alias to h_errno. + (h_errno): Define. + * resolv/res_libc.c (__libc_res): Add hidden alias to _res. + (_res): Define. + * sysdeps/generic/bits/libc-tsd.h (__libc_tsd_define): Add + attribute_tls_model_ie. + * sysdeps/generic/errno-loc.c (errno): Only undefine if not using + __thread. + * sysdeps/generic/errno.c (__libc_errno): Add hidden alias to errno. + * sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER): Use + __libc_errno in USE___THREAD case. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): + Likewise. + * configure.in (HAVE_TLS_MODEL_ATTRIBUTE): Check for + __attribute__((tls_model (""))). + * configure: Rebuilt. + * config.h.in (HAVE_TLS_MODEL_ATTRIBUTE): Add. + +2002-10-15 Ulrich Drepper + + * timezone/asia: Update from tzdata2002d. + * timezone/australasia: Likewise. + * timezone/iso3166.tab: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone-tab: Likewise. + +2002-10-15 Roland McGrath + + * sysdeps/generic/dl-tls.c (_dl_deallocate_tls) [TLS_TCB_AT_TP]: + Adjust TCB pointer before calling free, so we get the whole block. + +2002-10-14 Roland McGrath + + * sysdeps/unix/sysv/linux/x86_64/sigaction.c + [HAVE_HIDDEN && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE]: Declare restore_rt + extern using attribute_hidden instead of static, avoids warning. + +2002-10-09 Jakub Jelinek + + * sysdeps/unix/sysv/linux/configure.in: Use */lib64 for s390x too. + * sysdeps/unix/sysv/linux/configure: Rebuilt. + +2002-10-14 Ulrich Drepper + + * po/sv.po: Update from translation team. + +2002-10-12 H.J. Lu + + * sunrpc/thrsvc.c (PROCQUIT): New. + (struct rpc_arg): New. + (dispatch): Call exit (0) if request->rq_proc == PROCQUIT. + (test_one_call): Take struct rpc_arg * instead of CLIENT *c. + (thread_wrapper): Modified for struct rpc_arg * and call PROCQUIT. + (main): Modified for struct rpc_arg *. + +2002-10-14 Ulrich Drepper + + * dirent/scandir.c: Rearrange code a bit to reduce binary size. + +2002-10-14 Jakub Jelinek + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Include tls.h. + (SYSCALL_ERROR_HANDLER): Use RTLD_PRIVATE_ERRNO sequence + in ld.so even if __thread is supported. + +2002-10-13 Jakub Jelinek + + * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter): + Add hack to prevent the compiler from clobbering the signal context. + * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter): + Likewise. + +2002-10-14 Andreas Jaeger + + * sysdeps/mips/fpu/libm-test-ulps: Regenerated by + Guido Guenther . + +2002-10-14 Ulrich Drepper + + * po/sk.po: Update from translation team. + +2002-09-26 Roland McGrath + + * elf/dl-load.c (_dl_dst_count, _dl_dst_substitute): Handle $LIB + dynamic string tag. + * elf/Makefile ($(objpfx)trusted-dirs.st): Make the output define + DL_DST_LIB based on $(slibdir). + +2002-10-13 Roland McGrath + + * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command. + + * sysdeps/mach/hurd/getresuid.c: New file. + * sysdeps/mach/hurd/getresgid.c: New file. + * sysdeps/mach/hurd/setresuid.c: New file. + * sysdeps/mach/hurd/setresgid.c: New file. + + * posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid, + setresgid): Declare them. + * NEWS: Mention it. + * include/unistd.h + (__getresuid, __getresgid, __setresuid, __setresgid): Declare them, + add libc_hidden_proto. + * posix/Versions (libc: GLIBC_2.3.2): New set. Add + getresuid, getresgid, setresuid, setresgid here. + * Versions.def (libc): Define GLIBC_2.3.2 set. + * sysdeps/generic/getresuid.c (__getresuid): Fix argument types. + Add libc_hidden_def. + * sysdeps/generic/getresgid.c (__getresgid): Likewise. + * sysdeps/generic/setresgid.c: New file. + * sysdeps/generic/setresuid.c: New file. + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (sysdep_routines): Don't add getresuid and getresgid here. + * sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc] + (sysdep_routines): Don't add setresuid and setresgid here. + * sysdeps/unix/sysv/linux/cris/Makefile: Likewise. + * sysdeps/unix/sysv/linux/sh/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. + * posix/Makefile (routines): Add them all here instead. + * sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to + __getresuid. Add libc_hidden_def for that, and weak alias to old name. + * sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to + __getresgid. Add libc_hidden_def for that, and weak alias to old name. + * sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def. + [! __NR_setresuid]: Include generic file. + * sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to + __setresgid. Add libc_hidden_def for that, and weak alias to old name. + [! __NR_setresuid]: Include generic file. + * sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid): + Caller is - now, not EXTRA. + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list + (setresuid, setresgid, getresuid, getresgid): Likewise. + * sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid): + Add these calls here. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here. + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + + * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] + (sysdep_routines): Add setfsuid and setfsgid here. + * sysdeps/unix/sysv/linux/arm/Makefile: Not here. + * sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise. + * sysdeps/unix/sysv/linux/cris/Makefile: Likewise. + * sysdeps/unix/sysv/linux/sh/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. + + * hurd/errno.c: Renamed to ... + * hurd/errno-loc.c: ... this. + * hurd/Makefile (routines): errno -> errno-loc + +2002-10-13 Ulrich Drepper + + * po/de.po: Update from translation team. + + * MakeTAGS: Add -E flag to xgettext runs. + +2002-10-12 Ulrich Drepper + + * po/fr.po: Update from translation team. + + * sysdeps/posix/system.c: Remove support for old and buggy SCO systems. + Optimize a bit for use in glibc. + +2002-10-12 Roland McGrath + + * stdio-common/tst-rndseek.c (TIMEOUT): Increase to 10 seconds. + Some machines are slow. Guido Guenther has one. + +2002-10-12 Ulrich Drepper + + * po/sv.po: Update from translation team. + +2002-10-11 Isamu Hasegawa + + * posix/regcomp.c (re_compile_fastmap_iter): Remove the handling + OP_CONTEXT_NODE. + (regfree): Likewise. + (create_initial_state): Likewise. + (analyze): Remove the substitutions which became useless. + (calc_first): Likewise. + (calc_epsdest): Use edests of OP_BACK_REF in case that it has + epsilon destination. + (duplicate_node_closure): New function. + (duplicate_node): Remove the handling OP_CONTEXT_NODE. + (calc_inveclosure): Likewise. + (calc_eclosure): Likewise. + (calc_eclosure_iter): Invoke duplicate_node_closure instead of + direct invocation of duplicate_node. + (parse): Don't use comma operator in the return to avoid compiler + warning. + (parse_reg_exp): Likewise. + (parse_branch): Likewise. + (parse_expression): Likewise. + (parse_sub_exp): Likewise. + (parse_dup_op): Likewise. + * posix/regex_internal.c (re_dfa_add_node): Remove the substitutions + which became useless. + (create_ci_newstate): Remove the handling OP_CONTEXT_NODE. + (create_cd_newstate): Likewise. + * posix/regex_internal.h (re_token_type_t): Remove the obsolete type. + (re_token_t): Likewise. + (re_dfa_t): Likewise. + (re_node_set_remove): New macro. + * posix/regexec.c (check_matching): Remove the handling + OP_CONTEXT_NODE. + (check_halt_node_context): Likewise. + (proceed_next_node): Likewise. + (pop_fail_stack): Fix the memory leak. + (set_regs): Likewise. + (free_fail_stack_return): New function. + (sift_states_backward): Fix the memory leak. Remove the handling + OP_CONTEXT_NODE. + (update_cur_sifted_state): Append some if clause to avoid redundant + call. + (sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a + back reference. + (check_dst_limits): Remove the handling OP_CONTEXT_NODE. + (check_subexp_limits): Likewise. + (search_subexp): Likewise. + (sift_states_bkref): Likewise. + (transit_state_mb): Likewise. + (transit_state_bkref_loop): Likewise. + (transit_state_bkref_loop): Likewise. + (group_nodes_into_DFAstates): Likewise. + (check_node_accept): Likewise. + (sift_ctx_init): Add initializing. + +2002-10-12 Ulrich Drepper + + * sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use + __builtin_expect. + +2002-10-11 Ulrich Drepper + + * elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily + duplicated variable c. + + * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL + if possible. + + * sysdeps/unix/sysv/linux/i386/sysdep.h + (INTERNAL_SYSCALL_ERROR_P): New define. + (INTERNAL_SYSCALL_ERRNO): Likewise. + + * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): + Add hack to prevent the compiler from clobbering the signal context. + +2002-10-11 Roland McGrath + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): + Fix typos. + + * sysdeps/generic/dl-lookupcfg.h: Include . + * sysdeps/sh/dl-lookupcfg.h: File removed. + * sysdeps/i386/dl-lookupcfg.h: File removed. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): Add + missing labels and ; from last change. + + * stdio-common/tst-sscanf.c (val_double): Append .0 to large whole + number literals, so they are doubles instead of ints. + +2002-10-09 Roland McGrath + + * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional + changed from [USE_TLS && HAVE___THREAD]. + + * sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel): + Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD]. + * sysdeps/x86_64/dl-machine.h + (elf_machine_type_class, elf_machine_rela): Likewise. + * sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela): + Likewise. + + * include/link.h (struct link_map): Remove member l_tls_tp_initialized. + * elf/rtld.c (_dl_start_final, dl_main): Don't use it. + (_dl_start): Conditionalize PT_TLS check on [USE___THREAD]. + + * sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal + instead of ___tls_get_addr. + (___tls_get_addr_internal): Add attribute_hidden to decl. + + * sysdeps/generic/ldsodefs.h (struct rtld_global): New variable + _dl_error_catch_tsd. + * elf/rtld.c (startup_error_tsd): New function. + (dl_main): Point _dl_error_catch_tsd at that. + * elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR, + use new function pointer instead. + * elf/dl-tsd.c: New file. + * elf/Makefile (routines): Add it. + +2002-10-07 Roland McGrath + + * elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for + writev if it's available. Otherwise if [RTLD_PRIVATE_ERRNO] then + take _dl_load_lock around calling __writev. + + * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro. + (INLINE_SYSCALL): Use that. + + * sysdeps/generic/dl-sysdep.h: New file. + * sysdeps/mach/hurd/dl-sysdep.h: New file. + * sysdeps/generic/ldsodefs.h: Include . + * include/errno.h [IS_IN_rtld]: Include to define ... + [RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and + access it directly. + * elf/dl-minimal.c (__errno_location): Removed. + * sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]: + Use GOTOFF access for errno. + * sysdeps/unix/sysv/linux/i386/sysdep.h + [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise. + + * sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]: + Use PC-relative access for errno. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h + [RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise. + + * include/tls.h: New file. + (USE___THREAD): New macro. + Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling + libc or libpthread. + * sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional + changed from [USE_TLS && HAVE___THREAD]. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. + * sysdeps/unix/i386/sysdep.S: Likewise. + * sysdeps/unix/x86_64/sysdep.S: Likewise. + * include/errno.h: Likewise. + * include/netdb.h: Likewise. + * include/resolv.h: Likewise. + + * sysdeps/generic/errno.c: New file. + * csu/Makefile (aux): New variable, list errno. + * sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns. + * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise. + * sysdeps/unix/alpha/sysdep.S: Likewise. + * sysdeps/generic/start.c: Likewise. + * sysdeps/unix/start.c: Likewise. + * sysdeps/unix/arm/start.c: Likewise. + * sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise. + * sysdeps/unix/sparc/start.c: Likewise. + * sysdeps/unix/sysv/irix4/start.c: Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.S: File removed. + + * manual/search.texi (Tree Search Function, Hash Search Function): + Mention search.h clearly. + +2002-10-05 Roland McGrath + + * elf/dl-fxstat64.c: File removed. + * elf/dl-xstat64.c: File removed. + * elf/Makefile (rtld-routines): Remove them. + * sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals. + Instead, use strong_alias instead of versioned_symbol in the + !SHLIB_COMPAT case. + * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. + + * include/shlib-compat.h + (SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero. + [! NOT_IN_libc] (IS_IN_libc): Define it. + * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx. + * elf/Makefile (CPPFLAGS-.os): Likewise. + + * sunrpc/rpc_main.c (main): Don't declare with noreturn attribute. + Return the status instead of calling exit. + + * Makeconfig (CFLAGS): Prepend -std=gnu99. + * Makerules (+make-deps): Use $(CFLAGS) only for .c sources. + Remove superfluous rm command, whose @ plus make bugs hid + all these commands from the make output. + + * include/stubs-prologue.h: New file. Give #error under #ifdef _LIBC. + * Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it. + Use that file's contents instead of literal echo's for the prologue. + * include/features.h: Include unconditionally. + * include/gnu/stubs.h: New file. + +2002-09-30 Roland McGrath + + * elf/rtld-Rules: New file. + * elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk, + $(objpfx)rtld-libc.a): New targets. + (generated): Add them. + (reloc-link): Remove -o $@ from the variable. + ($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link). + (distribute): Add rtld-Rules. + (CPPFLAGS-.os): Define this instead of CFLAGS-.os. + * Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets. + (common-mostlyclean, common-clean): Clean up rtld-* files. + * sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules. + +2003-05-20 Jakub Jelinek + + * elf/dynamic-link.h (elf_get_dynamic_info): Add temp argument. + If temp != NULL, copy dynamic entries which need relocation to temp + array before relocating. + (DL_RO_DYN_TEMP_CNT): Define. + * elf/dl-load.c (_dl_map_object_from_fd): Adjust caller. + * elf/rtld.c (_dl_start): Likewise. + (dl_main): Likewise. Add dyn_temp static variable. + +2002-10-11 Roland McGrath + + * sysdeps/generic/dl-tls.c (__tls_get_addr): After freeing block in + now-unused dtv slot, reset the slot to TLS_DTV_UNALLOCATED. + + * elf/tls-macros.h [__x86_64__] (TLS_GD): Fix the sequence with the + proper set of no-op insn prefixes. + + * elf/tst-tls8.c (do_test): Use %zd format for l_tls_modid members. + +2002-10-11 Ulrich Drepper + + * sysdeps/unix/sysv/linux/execve.c: Don't try calling + __pthread_kill_other_threads_np. + + * sysdeps/generic/pselect.c: Avoid unnecessary sigprocmask calls. + +2002-10-08 Roland McGrath + + * locale/newlocale.c (__newlocale): If setting all categories to "C", + just return &_nl_C_locobj instead of copying it. + * locale/freelocale.c (__freelocale): Check for &_nl_C_locobj. + * locale/duplocale.c (__duplocale): Likewise. + +2002-10-07 Roland McGrath + + * config.h.in (HAVE_I386_SET_GDT): New #undef. + * sysdeps/mach/configure.in: Define it with new check for i386_set_gdt. + * sysdeps/mach/configure: Regenerated. + +2002-10-06 Franz Sirl + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): + Add all necessary register outputs for syscall-clobbered registers. + +2002-10-02 David Mosberger + + * sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for + Itanium 2 (and Itanium). + Fix unwind directives and make it fit in 80 columns. + * sysdeps/ia64/memset.S: Likewise. + * sysdeps/ia64/memcpy.S: Likewise. + Move jump table to .rodata section. + +2002-10-03 Roland McGrath + + * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add + clobbers to asm. + +2002-10-10 Andreas Jaeger + + * sysdeps/x86_64/_mcount.S: Restore correct registers. + +2002-10-10 Ulrich Drepper + + * posix/Versions (libc) [GLIBC_PRIVATE]: Add __pselect. + +2002-10-09 Ulrich Drepper + + * sysdeps/generic/ldsodefs.h: Remove attribute_hidden from + _dl_allocate_tls_init. Add rtld_hidden_proto. + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Add + rtld_hidden_def. + * elf/Versions (ld) [GLIBC_PRIVATE]: Add _dl_allocate_tls_init. + + * version.h (VERSION): Bump to 2.3.1. + + * Make-dist: Add back one of the tar invocations removed before. + + * stdlib/Makefile (distribute): Add allocalim.h. + + * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)] + (__libc_tsd_address): Use correct variable name. + Patch by Stefan Jones . + + * sysdeps/unix/sysv/linux/ia64/getcontext.S: Add missing ;;. + Reported by edwardsg@sgi.com [PR libc/4678]. + + * Versions.def (libc): Add GLIBC_2.3.1. + (libpthread): Add GLIBC_2.3.1. + + * include/signal.h: Add libc_hidden_proto for __sigwait, __sigwaitinfo, + and __sigtimedwait. + * signal/Versions: Add __sigtimedwait, __sigwait, and __sigwaitinfo. + * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise. + * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. + + * include/sys/msg.h: Declare __libc_msgrcv and __libc_msgsnd. + * sysdeps/unix/sysv/linux/msgrcv.c (__msgrcv): Rename to __libc_msgrcv + and make old name an alias. + * sysdeps/unix/sysv/linux/msgsnd.c (__msgsnd): Rename to __libc_msgsnd + and make old name an alias. + * sysvipc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_msgrcv and + __libc_msgsnd. + + * include/sys/uio.h: Declare __libc_readv and __libc_writev. + * misc/Versions (libc) [GLIBC_PRIVATE]: Add __libc_readv and + __libc_writev. + * sysdeps/generic/readv.c (__readv): Rename to __libc_readv and make + old name an alias. + * sysdeps/posix/readv.c: Likewise + * sysdeps/unix/sysv/aix/readv.c: Likewise. + * sysdeps/unix/sysv/linux/readv.c: Likewise. + * sysdeps/generic/writev.c (__writev): Rename to __libc_writev and make + old name an alias. + * sysdeps/posix/writev.c: Likewise + * sysdeps/unix/sysv/aix/writev.c: Likewise. + * sysdeps/unix/sysv/linux/writev.c: Likewise. + + * include/sys/wait.h: Declare __waitid. + * posix/Versions (libc) [GLIBC_PRIVATE]: Add __waitid. + * sysdeps/generic/waitid.c (waitid): Rename to __waitid and make old + name an alias. + * sysdeps/posix/waitid.c: Likewise. + * sysdeps/unix/sysv/aix/waitid.c: Likewise. + + * sysdeps/unix/sysv/linux/syscalls.list: Add creat syscall. + +2002-10-07 Jakub Jelinek + + * include/alloca.h (__libc_use_alloca, __libc_alloca_cutoff): New + prototypes. + (__MAX_ALLOCA_CUTOFF): Define. + Include allocalim.h. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r, + _nss_dns_gethostbyaddr_r): Use alloca or malloc to allocate + host_buffer depending on __libc_use_alloca. + * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r, + _nss_dns_getnetbyaddr_r): Use alloca or malloc to allocate + net_buffer depending on __libc_use_alloca. + * resolv/res_query.c (res_nquery): Use alloca or malloc to allocate + buf depending on __libc_use_alloca. + * resolv/gethnamaddr.c (gethostbyname2, gethostbyaddr): Likewise. + * stdio-common/vfprintf.c (vfprintf): Use __libc_use_alloca + instead of hardcoded constants. + Pass proper size argument to alloca and compute end for wide char + version. + * stdio-common/printf_fp.c (__printf_fp): Use __libc_use_alloca + instead of hardcoded constants. + * string/strcoll.c (strcoll): Likewise. + * string/strxfrm.c (strxfrm): Likewise. + * sysdeps/posix/readv.c (__readv): Likewise. + * sysdeps/posix/writev.c (__writev): Likewise. + * sysdeps/generic/allocalim.h: New file. + +2002-10-08 Roland McGrath + + * configure.in (aux_missing warning): Change "too old" to + "incompatible versions", since for autoconf it's "too new" right now. + * configure: Regenerated. + + * configure.in (AUTOCONF): New check to set it. Set to "no" if the + one found doesn't work on our configure.in. + * configure: Regenerated. + * config.make.in (AUTOCONF): New substituted variable. + * Makefile (autoconf-it-cvs): New canned sequence, broken out of ... + (autoconf-it): ... here, use that instead of defining conditionally. + Use $(AUTOCONF) instead of literal autoconf. + [$(AUTOCONF) != no] (configure, %/configure): Protect these rules + with this condition. + * Make-dist (autoconf-it, configure, %/configure): Copy those changes. + +2002-10-08 Ulrich Drepper + + * Make-dist (dist): Cleanup a bit. We are not interested in the + 14 char filename limit anymore. Remove intermediate files and + symlinks. + +2002-10-05 Ulrich Drepper + + * po/sk.po: Update from translation team. + * po/tr.po: Likewise. + * po/gl.po: Likewise. + +2002-10-05 Kaz Kojima + + * elf/tls-macros.h: Fix SH version of macros so as to match ABI syntax. + +2002-10-03 Ulrich Drepper + + * version.h (RELEASE): Change to stable. + +2002-10-03 Jakub Jelinek + + * sysdeps/unix/sysv/linux/_exit.c (__syscall_exit, + __syscall_exit_group): New prototypes. + +2002-10-03 Ulrich Drepper + + * glibc 2.3 released. + + +See ChangeLog.13 for earlier changes. -- cgit v1.2.3