diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-10-03 16:37:04 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-10-03 16:37:04 +0000 |
commit | 7edd1b564cbcdf4fa7481eb8cbe1354eb5a686ff (patch) | |
tree | e4845158df37bb2a0e020b3138f51f3003cfbd0b | |
parent | 0ea49d3cef5bbd722606606c2596dd18c88de0f0 (diff) | |
download | glibc-7edd1b564cbcdf4fa7481eb8cbe1354eb5a686ff.tar.gz |
Update.
2002-10-03 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/_exit.c (__syscall_exit,
__syscall_exit_group): New prototypes.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.13 | 13829 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/_exit.c | 3 |
3 files changed, 13837 insertions, 0 deletions
@@ -1,3 +1,8 @@ +2002-10-03 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/_exit.c (__syscall_exit, + __syscall_exit_group): New prototypes. + 2002-10-03 Ulrich Drepper <drepper@redhat.com> * glibc 2.3 released. diff --git a/ChangeLog.13 b/ChangeLog.13 new file mode 100644 index 0000000000..241861369e --- /dev/null +++ b/ChangeLog.13 @@ -0,0 +1,13829 @@ +2002-10-03 Richard Henderson <rth@redhat.com> + + * sysdeps/alpha/stxncpy.S: Don't access memory beyond the source + buffer. + * sysdeps/alpha/alphaev6/stxncpy.S: Likewise. + +2002-10-02 Andreas Jaeger <aj@suse.de> + Guido Guenther <agx@sigxcpu.org> + + * sysdeps/mips/fpu/fraiseexcpt.c: Add internal definition. + * sysdeps/mips/fpu/fesetenv.c: Likewise. + +2002-10-03 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/net/route.h: Include bits/wordsize.h. + (struct rtentry): Make rt_pad4 6 bytes long if __WORDSIZE == 64. + * sysdeps/unix/sysv/linux/alpha/Dist: Remove net/route.h. + * sysdeps/unix/sysv/linux/alpha/net/route.h: Remove. + * sysdeps/unix/sysv/linux/ia64/Dist: Remove net/route.h. + * sysdeps/unix/sysv/linux/ia64/net/route.h: Remove. + * sysdeps/unix/sysv/linux/s390/Dist: Remove net/route.h. + * sysdeps/unix/sysv/linux/s390/net/route.h: Remove. + +2002-10-03 Ulrich Drepper <drepper@redhat.com> + + * libio/freopen.c: Don't re-set _wide_data element if the stream + is of old style which didn't have the element. + * libio/freopen64.c: Likewise. + +2002-10-02 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/x86_64/Dist: Add bits/utmpx.h. + * sysdeps/unix/sysv/linux/sparc/Dist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Dist: Likewise. + + * sysdeps/s390/s390-32/initfini.c: Avoid unterminated string literals. + * sysdeps/sh/elf/initfini.c: Likewise. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/hppa/elf/initfini.c: Likewise. + * sysdeps/sparc/sparc32/soft-fp/sfp-machine.h: Likewise. + +2002-10-02 Steven Munroe <sjmunroe@us.ibm.com> + Jakub Jelinek <jakub@redhat.com> + + * login/programs/utmpdump.c (print_entry): Copy up->ut_tv fields + to struct timeval temp_tv before printing to be 32-/64-bit agnostic. + * sysdeps/powerpc/bits/wordsize.h: Move to... + * sysdeps/powerpc/powerpc32/bits/wordsize.h: ...here. + (__WORDSIZE_COMPAT32): Define. + * sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise. + * sysdeps/sparc/sparc32/bits/wordsize.h (__WORDSIZE_COMPAT32): + Define. + * sysdeps/sparc/sparc64/bits/wordsize.h (__WORDSIZE_COMPAT32): + Define. + * sysdeps/s390/bits/wordsize.h: Move to... + * sysdeps/s390/s390-32/bits/wordsize.h: ...here. + * sysdeps/s390/s390-64/bits/wordsize.h: Likewise. + * sysdeps/x86_64/bits/wordsize.h (__WORDSIZE_COMPAT32): Define. + * sysdeps/unix/sysv/linux/powerpc/bits/utmp.h: New file. + * sysdeps/unix/sysv/linux/powerpc/bits/utmpx.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/utmp.h: New file. + * sysdeps/unix/sysv/linux/sparc/bits/utmpx.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/utmp.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/utmpx.h: New file. + +2002-10-02 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Fix comment typo. + Temporarily enable R_ALPHA_NONE relocs in ld.so. + * sysdeps/ia64/dl-machine.h (elf_machine_rela): Temporarily enable + R_IA64_NONE relocs in ld.so. + +2002-09-27 Steven Munroe <sjmunroe@us.ibm.com> + + * README.template: Minimum Linux kernel for powerpc64 is 2.4.19. + + * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h (struct ipc_perm): + Use __uint32_t and __uint64_t for __seq, __pad1, __unused[12] fields + so they are consistent between PPC32 and PPC64. + + * sysdeps/unix/sysv/linux/powerpc/bits/stat.h [__WORDSIZE != 32]: + (_STAT_VER): Define to _STAT_VER_KERNEL. + (stru stat, struct stat64): Define to match the PPC64 kernel. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions + (libc: GLIBC_2.2): Remove __xstat64, __fxstat64, and __lxstat64. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/kernel_stat.h: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: Add kernel_stat.h. + +2002-10-02 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/xstatconv.c [STAT_IS_KERNEL_STAT]: + Conditionalize the function definitions on this. + * sysdeps/unix/sysv/linux/xstat.c (__xstat) [STAT_IS_KERNEL_STAT]: + Don't use xstat_conv, just fail if VERS != _STAT_VER_KERNEL. + * sysdeps/unix/sysv/linux/fxstat.c (__fxstat) [STAT_IS_KERNEL_STAT]: + Likewise. + * sysdeps/unix/sysv/linux/lxstat.c (__lxstat) [STAT_IS_KERNEL_STAT]: + Likewise. + +2002-10-02 Ulrich Drepper <drepper@redhat.com> + + * version.h (VERSION): Bump to 2.3. + + * elf/Makefile (distribute): Add tst-tlsmod1.c, tst-tlsmod2.c, + tst-tlsmod3.c, tst-tlsmod4.c, circlemod1.c, circlemod1a.c, + circlemod2.c, circlemod2a.c, circlemod3.c, circlemod3a.c, + and nodlopenmod2.c. + + * login/Makefile (distribute): Add utmp-equal.h. + + * iconvdata/Makefile (distribute): Add TSCII.precomposed and + TSCII.irreversible. + + * Make-dist (dist): Create .bz2 file. Add rule to create .bz2 files. + Also distribute xtests sources. + +2002-10-02 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf/elf.h: Change TLS ELF relocation numbers. + * elf/tls-macros.h: Fix code sequences for SH TLS_LD and TLS_GD + macros. + * sysdeps/sh/dl-machine.h (dl_machine_rela) [case R_SH_TLS_TPOFF32]: + Use addend. + * sysdeps/sh/elf/initfini.c: Move __fpscr_values to... + * sysdeps/sh/elf/start.S: ...here. + +2002-10-01 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (MINSIGSTKSZ, + SIGSTKSZ): Changed to match kernel. + * sysdeps/unix/sysv/linux/sparc/bits/sigstack.h: New file. + +2002-10-01 Carlos O'Donell <carlos@baldric.uwo.ca> + + * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h + [__USE_GNU] (F_SETLEASE, F_GETLEASE, F_NOTIFY): New macros. + [__USE_GNU] (DN_ACCESS, DN_MODIFY, DN_CREATE, DN_DELETE, DN_RENAME, + DN_ATTRIB, DN_MULTISHOT): New macros. + +2002-02-08 Randolph Chung <tausq@debian.org> + + * sysdeps/hppa/elf/start.S: Define __data_start. + +2002-10-01 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regex_internal.c (re_string_reconstruct): Reset the member + LEN and STOP. + * posix/regexec.c (re_search_stub): Remove incorrect condition of + "range < 0". + Round RANGE in case that it is too small. + +2002-10-01 Roland McGrath <roland@frob.com> + + * config.h.in (NO_HIDDEN): New #undef. + * include/libc-symbols.h [! NO_HIDDEN]: Add this condition to + nonempty definitions of hidden_proto et al. + * configure.in: Grok --disable-hidden-plt to define NO_HIDDEN. + * configure: Regenerated. + * sysdeps/mach/hurd/configure.in: Always define NO_HIDDEN. + * sysdeps/mach/hurd/configure: Regenerated. + +2002-09-19 David Mosberger <davidm@hpl.hp.com> + + * sysdeps/ia64/dl-fptr.c (make_fdesc): Load address of "local" via + a 64-bit gp-relative address to enable binaries with large data + sections. + +2002-09-30 Ulrich Drepper <drepper@redhat.com> + + * stdlib/cxa_finalize.c (__cxa_finalize): Call UNREGISTER_ATFORK + if it is defined. + * posix/Makefile (distribute): Add fork.h. + * sysdeps/generic/fork.h: New file. + +2002-09-29 Bruno Haible <bruno@clisp.org> + + * sysdeps/generic/utmp_file.c (LOCKING_FAILED): New macro. + (UNLOCK_FILE): Add a label. + (getutent_r_file, internal_getut_r, getutline_r_file, pututline_file, + updwtmp_file): Shut off the alarm clock when locking failed. + +2002-09-30 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regex_internal.h (re_match_context_t): Add a new member. + (re_fail_stack_ent_t): New structure. + (re_fail_stack_t): Likewise. + * posix/regexec.c (re_search_internal): Use the new member of + re_match_context_t. + Use fail stack only if it has back references and there are plural + matching candidates. + (proceed_next_node): Use fail stack if it is indicated. + (set_regs): Likewise. + (push_fail_stack): New function. + (pop_fail_stack): New function. + (check_dst_limits): Likewise. + (check_dst_limits_calc_pos): Likewise. + (search_subexp): Check the limitations on the top of subexpressions. + (sift_states_bkref): Check the limitations of the destination node. + Reuse the array sctx->sifted_states. + +2002-09-30 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/printf_fp.c: Shuffle a few lines around to help the + compiler optimizing. No semantical changes intended. + +2002-09-30 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/ia64/strncpy.S: Only segfault in .recovery2 if some bits + from the next quad are needed. + +2002-09-30 Roland McGrath <roland@redhat.com> + + * elf/tls-macros.h (TLS_LD, TLS_GD): Use call insn, not callq. + + * sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]: + Use direct-%fs form of TLS access for errno. + + * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since + the i386 version has all the same asm now. + + * sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to + the TLS support check. + * sysdeps/i386/elf/configure: Regenerated. + + * sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD] + (SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno. + + * sysdeps/unix/i386/sysdep.S (syscall_error) + [USE_TLS && HAVE___THREAD]: Use TLS access for errno. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h + [USE_TLS && HAVE___THREAD] (SYSCALL_ERROR_HANDLER): Use TLS access. + + * rt/tst-aio7.c (do_test): Don't read from stdin, which could be the + terminal when the test is running in a background job. Instead, make + a pipe and read from its read half while never writing anything to it. + +2002-09-30 Andreas Jaeger <aj@suse.de> + + * stdlib/tst-bsearch.c (main): Fix format strings. + * stdio-common/tst-rndseek.c (do_test): Likewise. + * libio/tst_swprintf.c (main): Likewise. + * catgets/tst-catgets.c (main): Likewise. + * libio/tst-fgetws.c (main): Likewise. + * posix/tst-mmap.c (main): Likewise. + * posix/bug-regex12.c (main): Likewise. + * posix/bug-regex11.c (main): Likewise. + * io/tst-getcwd.c (do_test): Likewise. + + * iconvdata/tst-e2big.c (test): Use %td in printf for ptrdiff_t. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER): + Store 4 bytes into errno, not 8 bytes. + +2002-09-29 Ulrich Drepper <drepper@redhat.com> + + * posix/regexec.c (sift_states_bkref): Remove ret variable. Use + err instead. + +2002-09-29 Roland McGrath <roland@redhat.com> + + * test-skeleton.c (timeout_handler): Use WUNTRACED flag in waitpid. + Examine the child's status and print something different if it wasn't + just killed by our SIGKILL. + (main): In the child process call setpgid to put it in its own pgrp. + +2002-09-29 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): The return value + semantics for sigtimedwait is different. Rework the return value + handling and don't pass in a siginfo variable. + +2002-09-29 Roland McGrath <roland@redhat.com> + + * malloc/malloc.c [! MALLOC_DEBUG] (assert): #undef before defining. + + * sysdeps/mach/hurd/Versions (ld: GLIBC_2.2.6): Add __errno_location. + + * sysdeps/unix/sysv/linux/x86_64/sysdep.S [USE_TLS && HAVE___THREAD]: + Define errno in .tbss. + * sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD]: Use TLS + access for setting errno. + + * sysdeps/unix/x86_64/sysdep.S: Store 32 bits at errno, not 64 bits. + AFAICT, it was just blind luck that the word following errno in .bss + was just alignment padding and not some other variable to be clobbered. + +2002-09-29 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_SETRESUID_SYSCALL): On the sparc, define to 1, not empty. + +2002-09-29 Jakub Jelinek <jakub@redhat.com> + + * nss/bug-erange.c (main): Don't fail if /etc/resolv.conf doesn't + exist. + +2002-09-29 Ulrich Drepper <drepper@redhat.com> + + * nss/Makefile: Move bug-erange from tests to xtests. + +2002-09-29 Jakub Jelinek <jakub@redhat.com> + + * stdlib/longlong.h (__udiv_qrnnd): Remove PARAMS from prototype. + +2002-09-29 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall0): Make asm + volatile. + (inline_syscall1, inline_syscall2, inline_syscall3, inline_syscall4, + inline_syscall5, inline_syscall6): Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL): + Likewise. + +2002-09-29 Roland McGrath <roland@redhat.com> + + * configure.in (libc_cv_ranlib_necessary check): Put the .o file in + the archive, not the .c file. + * configure: Regenerated. + +2002-09-29 Roland McGrath <roland@redhat.com> + + * configure: Regenerated after aclocal.m4 change. + + * sysdeps/x86_64/sysdep.h [HAVE_ELF] (L): Define with .L##name form. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (L): Don't define it here. + + * sysdeps/generic/dl-lookupcfg.h [USE_TLS] (DL_LOOKUP_RETURNS_MAP): + Define it, because _dl_sym presumes it (for any platform). + + * sysdeps/x86_64/dl-tls.h: New file. + + * sysdeps/x86_64/dl-machine.h (elf_machine_rela): Add a cast. + + * sysdeps/x86_64/elf/configure.in: New file. + * sysdeps/x86_64/elf/configure: New generated file. + +2002-09-28 Roland McGrath <roland@redhat.com> + + * elf/rtld.c (_dl_start): Fix conditional for declaring CNT. + + * aclocal.m4 (LIBC_PROG_BINUTILS): Don't clobber $RANLIB with ranlib + before we check it. + +2002-09-28 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add __syscall_exit + entry point. + +2002-09-28 Jakub Jelinek <jakub@redhat.com> + + * posix/bug-regex11.c (tests): Add flags field. + (main): Avoid warnings. Use test[i].flags. Return nonzero + if any of the tests failed. + * posix/bug-regex12.c: New file. + * posix/Makefile (tests): Add bug-regex12. + +2002-03-02 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/nice.c (nice): Use getpriority() for the return value. + +2002-09-28 Jeff Bailey <jbailey@gnu.org> + + * sysdeps/unix/sysv/sysv4/solaris2/configure.in: Delete. + * sysdeps/unix/sysv/aix/configure.in: Update comment and remove + stdio=libio setting. + +2002-09-28 Roland McGrath <roland@redhat.com> + + * sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps): Use INTUSE for + _dl_signal_error. + * sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise. + * sysdeps/powerpc/powerpc64/dl-machine.c + (_dl_reloc_overflow): Likewise. + * sysdeps/arm/dl-machine.h (elf_machine_rel): Likewise. + (elf_machine_rela): Likewise. + +2002-09-27 Steven Munroe <sjmunroe@us.ibm.com> + + * include/libc-symbols.h (__hidden_dot_weak1): Fix typo. Replace + ASM_GLOBAL_DIRECTIVE with .weak. + +2002-09-28 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/mips/truncate64.c (truncate64): Fix + number of args to syscall. + * sysdeps/unix/sysv/linux/mips/ftruncate64.c (__ftruncate64): Likewise. + Patch by Guido Guenther <agx@sigxcpu.org>. + +2002-09-27 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (__NR_pread, __NR_pwrite): + Define these to __NR_pread64, __NR_pwrite64 if not defined. + + * sysdeps/unix/sysv/linux/powerpc/lchown.S + [SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Use this condition + on chown compatibility symbol; use compat_symbol, not symbol_version. + +2002-09-27 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (reg_free): Free the debug area. + (re_compile_internal): Allocate debug area for the input string. + (create_initial_state): Check the back references in initial states + if they are really match null string in the initial state. + (parse_reg_exp): Mark the dfa that the dfa can have plural matchings. + (parse_expression): Likewise. + (parse_bracket_exp): Likewise. + * posix/regex_internal.c (re_node_set_intersect): Remove unused + function. + (re_node_set_contains): Change to return the index of node. + * posix/regex_internal.h (re_backref_cache_entry): Change the members. + (re_match_context_t): Likewise. + (struct re_dfa_t): Likewise. + (re_sift_context_t): New structure. + * posix/regexec.c (match_ctx_clear_flag): New function. + (sift_ctx_init): Likewise. + (update_cur_sifted_state): Likewise. + (add_epsilon_src_nodes): Likewise. + (sub_epsilon_src_nodes): Likewise. + (check_subexp_limits): Likewise. + (search_subexp): Likewise. + (sift_states_bkref): Likewise. + (merge_state_array): Likewise. + (sift_states_iter_bkref): Remove unused function. + (add_epsilon_backreference): Remove unused function. + (re_search_internal): Adapt new members and interfaces. + (check_matching): Check the back references in initial states + if they are really match null string in the initial state. + (proceed_next_node): Change the evaluation of back references, + since we have real registers here. + (set_regs): Adapt new interface of proceed_next_node. + (sift_states_backward): Add invocation of update_cur_sifted_state + instead of add_epsilon_backreference. + Add a sentinel to the outermost while loop. + Move the handling of back references to sift_states_bkref function, + since we can't handle some back references (e.g. a back reference + which match NULL string) here. + (transit_state_mb): Handle the new member max_mb_elem_len. + (transit_state_bkref_loop): Move the evaluation of back references to + search_subexp function, since we can't evaluate some back references + (e.g. a back reference which can have plural matchings) here. + (match_ctx_init): Adapt the new member. + (match_ctx_add_entry): Adapt the new members. + +2002-09-25 Alan Modra <amodra@bigpond.net.au> + + * elf/do-rel.h: Define macro DO_ELF_MACHINE_REL_RELATIVE for + 'elf_machine_rel_relative' + (elf_dynamic_do_rel): Call DO_ELF_MACHINE_REL_RELATIVE macro + instead of 'elf_machine_rel_relative'. + * sysdeps/hppa/dl-machine.h: + Define macro DO_ELF_MACHINE_REL_RELATIVE for + 'elf_machine_rel_relative' with extra map parameter + required by HPPA. + (elf_machine_rela_relative): Add plt relocation changes. + +2001-11-14 Matthew Wilcox <willy@debian.org> + + * sysdeps/unix/sysv/linux/hppa/bits/ipc.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/msq.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/sem.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/shm.h: New file. + +2002-09-27 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/powerpc/powerpc32/Makefile: Fix typo in comment. + + * sysdeps/powerpc/powerpc64/Makefile + [$(build-shared) = yes] (pic-ccflag): Define it. + [$(subdir) = csu] (CFLAGS-initfini.s): Add -fpic here too. + +2002-09-27 Roland McGrath <roland@redhat.com> + + * sysdeps/x86_64/dl-machine.h (elf_machine_type_class): Remove + unneeded TLS cases. + +2002-09-27 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-addr.c (_dl_addr): Set dli_fbase to l_map_start + unconditionally. Set dli_fname to _dl_argv[0] only for main program. + +2002-09-27 Roland McGrath <roland@redhat.com> + + * elf/dl-addr.c (_dl_addr): Add a cast. + + * sysdeps/x86_64/dl-machine.h (elf_machine_rela) [USE_TLS]: Handle new + TLS relocs R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, and R_X86_64_TPOFF64. + + * elf/elf.h (R_X86_64_DTPMOD64, R_X86_64_DTPOFF64, R_X86_64_TPOFF64, + R_X86_64_TLSGD, R_X86_64_TLSLD, R_X86_64_DTPOFF32, + R_x86_64_GOTTPOFF, R_X86_64_TPOFF32): New macros. + (R_X86_64_NUM): Update the value. + +2002-09-24 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_load_address): Don't + rely on *r_offset of R_SPARC_RELATIVE reloc in .got to contain the + addend. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Use + the same l_addr computation. + * sysdeps/sparc/sparc64/configure.in: Removed. + * sysdeps/sparc/sparc64/configure: Removed. + * config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Remove. + +2002-09-26 Ulrich Drepper <drepper@redhat.com> + + * elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_HASH entry + if necessary. + * elf/dl-lookup.c (_dl_setup_hash): DT_HASH entry is already relocated. + * elf/dl-addr.c (_dl_addr): Use .hash[1] entry to determine end of the + symbol table if necessary. + +2002-09-26 Roland McGrath <roland@redhat.com> + + * stdlib/longlong.h: Replaced with current version from GCC mainline, + last modified 2002-09-22 Kazu Hirata <kazu@cs.umass.edu>. + +2002-09-25 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/mips/syscalls.list: Add syscall_exit. + Patch by Guido Guenther <agx@sigxcpu.org>. + +2002-09-25 Roland McGrath <roland@redhat.com> + + * Makeconfig (%.v.i pattern rule): Use $(CPPFLAGS). + +2002-09-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/configure.in: Recognize nptl add-on name. + +2002-09-24 Roland McGrath <roland@redhat.com> + + * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Move __libc_read, + __libc_write, __libc_lseek64, to ... + (ld: GLIBC_PRIVATE): ... here. + + * csu/Versions: Use %include <tls.h> to get USE_TLS defined. + (libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _errno, errno. + (libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put errno here instead. + * resolv/Versions: Use %include <tls.h> to get USE_TLS defined. + (libc: GLIBC_2.0) [USE_TLS && HAVE___THREAD]: Remove _h_errno, h_errno, + and _res. + (libc: GLIBC_2.3) [USE_TLS && HAVE___THREAD]: Put h_errno, _res here. + + * elf/tls-macros.h [__x86_64__] (TLS_LE, TLS_IE, TLS_LD, TLS_GD): + New macros for x86-64. + + * sysdeps/unix/sysv/linux/alpha/bits/time.h: File removed. + It was indentical to the linux/bits/time.h file. + + * nscd/nscd_gethst_r.c (nscd_gethst_r): Add a cast to silence warning. + + * resolv/gethnamaddr.c (gethostbyaddr): Use socklen_t for SIZE. + +2002-09-23 Ulrich Drepper <drepper@redhat.com> + + * po/zh_CN.po: New file. + +2002-09-23 Roland McGrath <roland@redhat.com> + + * posix/unistd.h: Test [__USE_UNIX98] instead of [__USE_OPEN2K] + for gethostname declaration. + + * catgets/open_catalog.c (__open_catalog): Don't use a value type + as the __builtin_expect expression, just the Boolean value. + + * sysdeps/generic/wordexp.c (parse_glob): int -> size_t for counter. + * sysdeps/unix/sysv/linux/opensock.c (__opensock): Likewise. + * resolv/res_hconf.c (arg_service_list, parse_line): Likewise. + * iconvdata/tst-loading.c (main): Likewise. + * catgets/tst-catgets.c (main): Likewise. + * stdlib/tst-xpg-basename.c (main): Likewise. + * stdlib/tst-bsearch.c (main): Likewise. + * stdio-common/test-vfprintf.c (main): Likewise. + * stdio-common/tst-rndseek.c (do_test): Likewise. + * libio/tst_swprintf.c (main): Likewise. + * libio/tst-fgetws.c (main): Likewise. + * wcsmbs/tst-mbrtowc.c (check_ascii): Likewise. + * time/tst-posixtz.c (main): Likewise. + * time/tst-strptime.c (test_tm): Likewise. + * time/tst-strptime.c (main): Likewise. + * time/tst-getdate.c (main): Likewise. + * posix/tst-mmap.c (main): Likewise. + * posix/tst-getaddrinfo.c (do_test): Likewise. + * io/tst-getcwd.c (do_test): Likewise. + * resolv/tst-aton.c (main): Likewise. + * inet/tst-network.c (main): Likewise. + * libio/tst-fgetws.c (main): Likewise. + * sysdeps/posix/sprofil.c (add_region): int -> unsigned int for I. + * sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): int -> unsigned int + for PTYNO. + + * stdlib/msort.c (qsort): Add a cast to silence warning. + * stdio-common/vfprintf.c (process_string_arg): Likewise. + * libio/oldfileops.c (_IO_old_do_write): Likewise. + * sysdeps/unix/sysv/linux/getcwd.c (__getcwd): Likewise. + * sysdeps/unix/sysv/linux/ttyname.c (ttyname): Likewise. + * sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise. + * argp/argp-fmtstream.c (__argp_fmtstream_printf): Likewise. + * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. + * sysdeps/unix/grantpt.c (grantpt): Likewise. + * libio/tst-widetext.c (main): Likewise. + * libio/tst-mmap2-eofsync.c (do_test): Likewise. + * rt/tst-aio.c (test_file): Likewise. + * rt/tst-aio64.c (test_file): Likewise. + * resolv/tst-aton.c (main): Likewise. + + * catgets/catgetsinfo.h (CATGETS_MAGIC): Use U suffix on the constant. + + * ctype/ctype.c (__ctype_tolower, __ctype_toupper): Cast to int32_t + instead of uint32_t in these macros. + +2002-09-22 Bruno Haible <bruno@clisp.org> + + * iconv/iconv_prog.c (main): Provide an error message that identifies + the wrong encoding. + + * iconvdata/tscii.c: New file. + * iconvdata/testdata/TSCII: New file. + * iconvdata/testdata/TSCII..UTF8: New file. + * iconvdata/TSCII.precomposed: New file. + * iconvdata/TSCII.irreversible: New file. + * iconvdata/gconv-modules (TSCII): New module. + * iconvdata/Makefile (modules): Add TSCII. + (distribute): Add tscii.c. + * iconvdata/tst-table-from.c (try, utf8_decode, main): Double output + buffer size. + * iconvdata/tst-tables.sh: Add TSCII. + * iconvdata/TESTS: Add TSCII. + + Revert 2002-04-18 patch. + * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for + FROM_DIRECTION): Make the FROM direction stateful again. + * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for + FROM_DIRECTION): Likewise. + + * iconvdata/tst-e2big.c: New file. + * iconvdata/Makefile (tests): Add tst-e2big. + +2002-09-23 Roland McGrath <roland@redhat.com> + + * elf/Makefile (test-extras): Define this instead of test-srcs. + * Makerules (all-nonlib): Include $(test-extras) too. + +2002-09-21 Carlos O'Donell <carlos@baldric.uwo.ca> + + * sysdeps/hppa/abort-instr.h: New file. + +2002-09-22 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Remove duplicate entry. + + * sysdeps/mach/hurd/dl-sysdep.c (_exit): Add alias __GI__exit. + +2002-09-22 Andreas Schwab <schwab@suse.de> + + * cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Append, not overwrite. + + * sysdeps/m68k/fpu/bits/mathinline.h (isgreater, isgreaterequal) + (isless, islessequal, islessgreater, isunordered) [GCC >= 3.1]: + Use GCC builtins. + +2002-09-21 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_PLATFORM): + Correct the value so it covers all platforms, and is computed + from _DL_PLATFORMS_COUNT rather than hard-wired. + From Andrew Suffield <asuffield@debian.org>. + +2002-09-20 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Avoid + locking when using mount tab file. + * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. + * sysdeps/unix/sysv/linux/statvfs.c: Include <stdio_ext.h>. + * sysdeps/unix/sysv/linux/fstatvfs.c: Likewise. + + * elf/dl-init.c (_dl_init): Fix test of the size of the + preinit_array section. + (call_init): Optimize access to DT_INIT_ARRAY entry a bit. + Reported by Brian Cabral <cabral@ikuni.com>. + +2002-09-20 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/powerpc/sysdep.h: Remove powerpc32 specific macros. + * sysdeps/powerpc/powerpc32/sysdep.h: New file. Define powerpc32 + specific macros copied from sysdeps/powerpc/sysdep.h. + * sysdeps/powerpc/powerpc64/sysdep.h: New file. Define powerpc64 + specific macros. + * sysdeps/unix/powerpc/sysdep.h: Include <bits/wordsize.h>. + [__WORDSIZE==64]: Include sysdeps/powerpc/powerpc64/sysdep.h. + [!__WORDSIZE==64]: Include sysdeps/powerpc/powerpc32/sysdep.h. + +2002-09-19 Bruno Haible <bruno@clisp.org> + + * intl/dcigettext.c (DCIGETTEXT): Restore errno only right before + returning. + +2002-09-17 Bruno Haible <bruno@clisp.org> + + * sysdeps/generic/utmp-equal.h: New file, extracted from utmp_file.c. + * sysdeps/generic/utmp_file.c (setutent_file): Invalidate last_entry + also on platforms with !HAVE_UT_TYPE. + (proc_utmp_eq): Remove function. + (internal_getut_r, pututline_file): Call __utmp_equal instead. + +2002-09-20 Bruno Haible <bruno@clisp.org> + + * abi-tags: Add support for FreeBSD with ABI OS value 3. + * elf/cache.c (print_entry): Support the GNU/FreeBSD ABI tag. + +2002-09-20 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/gmp-mparam.h: Include <bits/wordsize.h>. + (BITS_PER_MP_LIMB, BYTES_PER_MP_LIMB, BITS_PER_LONGINT): Define in + terms of __WORDSIZE. + * sysdeps/x86_64/gmp-mparam.h: File removed. + * sysdeps/sparc/gmp-mparam.h: File removed. + * sysdeps/mips/mips64/gmp-mparam.h: File removed. + * sysdeps/ia64/gmp-mparam.h: File removed. + * sysdeps/alpha/gmp-mparam.h: File removed. + +2002-09-20 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/powerpc/elf/libc-start.c: Use long in place of int for argc + load, so as to work on both 32-bit and 64-bit. Remove unnecessary + casts. Align __libc_stack_end to 8 bytes. + +2002-09-20 Roland McGrath <roland@redhat.com> + + * sysdeps/powerpc/fpu/s_lrint.c: Use strong_alias/weak_alias macros + instead of asm for lrintf, __lrintf aliases. + + * sysdeps/powerpc/fpu/s_lrint.c (__lrint): Change union long array to + int array for 32-/64-bit compatibility. + From Steven Munroe <sjmunroe@us.ibm.com>. + +2002-09-17 Bruno Haible <bruno@clisp.org> + + * sysdeps/generic/ifreq.h (__if_nextreq): New function. + * sysdeps/unix/sysv/linux/ifreq.h (__if_nextreq): New function. + * sysdeps/mach/hurd/ifreq.h (__if_nextreq): New function. + * sysdeps/gnu/ifaddrs.c (getifaddrs): Use __if_nextreq + for iterating through the list of interfaces. + * resolv/res_hconf.c (_res_hconf_reorder_addrs): Likewise. + +2002-09-20 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/grantpt.c (pts_name): Set errno when __ptsname_r fails. + Reported by Bruno Haible <bruno@clisp.org>. + + * sysdeps/unix/bsd/bsd4.4/isatty.c: New file. + + * sysdeps/unix/bsd/isatty.c (__isatty): Don't save and restore errno. + * sysdeps/unix/bsd/ptsname.c (__ptsname_r): Return errno value from + isatty unmodified. Reported by Bruno Haible <bruno@clisp.org>. + +2002-09-20 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/powerpc/bits/setjmp.h [__WORDSIZE]: Add 64-bit jmpbuf. + * sysdeps/powerpc/bits/wordsize.h: New file. + * sysdeps/powerpc/fpu/bits/mathinline.h (lrint, lrintf): Change long + array to int array for 32-/64-bit compatibility. + +2002-09-20 Roland McGrath <roland@redhat.com> + + * login/programs/utmpdump.c: Don't include <error.h>, <errno.h>. + + * sysdeps/generic/utimes.c (__utimes): Don't check TVP for null. + Reported by Bruno Haible <bruno@clisp.org>. + + * sysdeps/generic/ifreq.h (__ifreq): Compute termination condition + before doubling RQ_LEN. + * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise. + Reported by Bruno Haible <bruno@clisp.org>. + +2002-09-18 Bruno Haible <bruno@clisp.org> + + * login/logout.c (logout): Don't assume ut_time has the same size as + a time_t. + * login/logwtmp.c (logwtmp): Likewise. + + * sysdeps/pthread/configure: New file, moved here from + linuxthreads/sysdeps/unix/sysv/linux/configure. + +2002-09-19 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/_exit.c: Include <errno.h>. + (_exit): Don't use ABORT_INSTRUCTION if it is not defined. + Reported by Glen Nakamura <glen@imodulo.com>. + +2002-09-19 Neal H. Walfield <neal@cs.uml.edu> + + * sysdeps/mach/hurd/fork.c (__fork): Do not free the signal + thread's sigstate data structure if it has been allocated. + +2002-09-19 Roland McGrath <roland@redhat.com> + + * include/libc-symbols.h [HAVE_ASM_SET_DIRECTIVE] + [! HAVE_ASM_GLOBAL_DOT_NAME] (__hidden_dot_def1): Fix typo'd name. + +2002-09-18 Ulrich Drepper <drepper@redhat.com> + + * version.h (VERSION): Bump to 2.2.94. + + * sysdeps/powerpc/fpu/Dist: Move fprrest.S and fprsave.S to... + * sysdeps/powerpc/powerpc32/fpu/Dist: ...here. New file. + * sysdeps/unix/sysv/linux/powerpc/Dist: Move kernel_stat.h to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: ...here. + + * sysdeps/i386/Makefile: Remove obsolete db2 rules. + + * sysdeps/unix/sysv/linux/Makefile: Add exit-thread.S. + + * sysdeps/unix/sysv/linux/powerpc/Dist: Add ldd-rewrite.sh. + + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: New file. + +2002-09-19 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/wordsize-32/Makefile: New file. + * sysdeps/arm/Makefile: Removed. + * sysdeps/i386/Makefile (sysdep_routines, shared-only-routines): + Don't add divdi3 here. + * sysdeps/m68k/Makefile: Likewise. + * sysdeps/powerpc/powerpc32/Makefile: Likewise. + * sysdeps/sh/Makefile: Likewise. + * sysdeps/s390/s390-32/Makefile: Likewise. + +2002-09-18 Roland McGrath <roland@redhat.com> + + * locale/lc-ctype.c (_nl_postload_ctype): Add compat_symbol decls for + the __ctype_* compat symbols, so the relocs generated bind to the + right versioned global symbol in the shared object. + + * elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag) + from the value taken from the DT_VERSYM table. + * elf/dl-runtime.c (fixup, profile_fixup): Likewise. + * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise. + (RESOLVE_GOTSYM): Likewise. + + * sysdeps/unix/sysv/linux/sigaction.c (__libc_sigaction): + Add libc_hidden_def. + * sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise. + +2002-09-18 Ulrich Drepper <drepper@redhat.com> + + * include/signal.h: Add libc_hidden_proto for __libc_sigaction. + + * sysdeps/unix/sysv/linux/sigaction.c: If SIGCANCEL is defined + define sigaction and __sigaction as wrappers around + __libc_sigaction which rejects changing SIGCANCEL. + * sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise. + + * sysdeps/unix/sysv/linux/i386/clone.S: Add support for SETTLS and + SETTID/CLEARTID. + + * signal/allocrtsig.c: Move to... + * sysdeps/generic/allocrtsig.c: ...here. New file. + +2002-09-17 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-lookup.c (_dl_debug_bindings): Print TLS lookups always. + + * elf/elf.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE, + R_386_TLS_LE): Define. + (R_386_TLS_IE_32, R_386_TLS_LE_32, R_386_TLS_TPOFF32): Update + comments. + * sysdeps/i386/dl-machine.h (elf_machine_type_class): Return + ELF_RTYPE_CLASS_PLT for R_386_TLS_TPOFF. + (elf_machine_rel): Handle R_386_TLS_TPOFF. + (elf_machine_rela): Likewise. + Remove unnecessary RTLD_BOOTSTRAP #ifdefs. + +2002-09-17 Roland McGrath <roland@redhat.com> + + * malloc/Makefile ($(objpfx)memusagestat.o: sysincludes): Define + file-specific variable override so it compiles properly when using + --with-headers. + +2002-09-17 Steven Munroe <sjmunroe@us.ibm.com> + + Ported to PowerPC64 running Linux. + * sysdeps/powerpc/powerpc64/Dist: New file. + * sysdeps/powerpc/powerpc64/Implies: New file. + * sysdeps/powerpc/powerpc64/Makefile: New file. + * sysdeps/powerpc/powerpc64/__longjmp.S: New file. + * sysdeps/powerpc/powerpc64/atomicity.h: New file. + * sysdeps/powerpc/powerpc64/backtrace.c: New file. + * sysdeps/powerpc/powerpc64/bp-asm.h: New file. + * sysdeps/powerpc/powerpc64/bsd-_setjmp.S: New file. + * sysdeps/powerpc/powerpc64/bsd-setjmp.S: New file. + * sysdeps/powerpc/powerpc64/dl-dtprocnum.h: New file. + * sysdeps/powerpc/powerpc64/dl-lookupcfg.h: New file. + * sysdeps/powerpc/powerpc64/dl-machine.c: New file. + * sysdeps/powerpc/powerpc64/dl-machine.h: New file. + * sysdeps/powerpc/powerpc64/memset.S: New file. + * sysdeps/powerpc/powerpc64/ppc-mcount.S: New file. + * sysdeps/powerpc/powerpc64/register-dump.h: New file. + * sysdeps/powerpc/powerpc64/setjmp.S: New file. + * sysdeps/powerpc/powerpc64/stpcpy.S: New file. + * sysdeps/powerpc/powerpc64/strchr.S: New file. + * sysdeps/powerpc/powerpc64/strcmp.S: New file. + * sysdeps/powerpc/powerpc64/strcpy.S: New file. + * sysdeps/powerpc/powerpc64/strlen.S: New file. + * sysdeps/powerpc/powerpc64/elf/bzero.S: New file. + * sysdeps/powerpc/powerpc64/elf/start.S: New file. + * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: New file. + * sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: New File. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: New file. + + * include/libc-symbols.h [HAVE_ASM_GLOBAL_DOT_NAME] + (C_SYMBOL_DOT_NAME): Insure that C_SYMBOL_DOT_NAME works for + various gcc versions. Dot names required for powerpc64. + [HAVE_ASM_GLOBAL_DOT_NAME] (_weak_extern): Add .weakext '.'ed symbol. + [HAVE_ASM_GLOBAL_DOT_NAME] (strong_alias): Add .global + C_SYMBOL_DOT_NAME(alias). + [HAVE_ASM_GLOBAL_DOT_NAME] (strong_data_alias): New macro. Same as + original strong_alias macro. + [HAVE_ASM_GLOBAL_DOT_NAME] (weak_alias): Add .weakext/.weak + C_SYMBOL_DOT_NAME(alias). + [HAVE_ASM_GLOBAL_DOT_NAME] (_symbol_version): Add .symver '.'ed name. + [HAVE_ASM_GLOBAL_DOT_NAME] (_default_symbol_version): Add .symver + '.'ed name. + Add comments on libc_hidden_data_def and libc_hidden_data_weak usage. + [HAVE_ASM_GLOBAL_DOT_NAME] (hidden_dot_def1): New macro. Generate + .global C_SYMBOL_DOT_NAME(alias). Otherwise an empty macro. + (hidden_def): Append hidden_dot_def1 macro to definition. + (hidden_ver): Append hidden_dot_def1 macro to definition. + (hidden_data_def): New macro. Same as original hidden_def macro. + (hidden_data_ver): New macro. Same as original hidden_ver macro. + [HAVE_ASM_GLOBAL_DOT_NAME] (hidden_dot_weak1): New macro. Generate + .weakext C_SYMBOL_DOT_NAME(alias). Otherwise an empty macro. + (hidden_weak): Append hidden_dot_weak1 macro to definition. + (hidden_data_weak): New macro. Same as original hidden_weak macro. + [HAVE_ASM_GLOBAL_DOT_NAME] (HIDDEN_JUMPTARGET): Define as .__GI_name. + Otherwise defined as __GI_name. + (libc_hidden_data_def): New macro. Use hidden_data_def. + (libc_hidden_data_weak): New macro. Use hidden_data_weak. + (libc_hidden_data_ver): New macro. Use hidden_data_ver. + (rtld_hidden_data_def): New macro. Use hidden_data_def. + (rtld_hidden_data_weak): New macro. Use hidden_data_weak. + (rtld_hidden_data_ver): New macro. Use hidden_data_ver. + (libm_hidden_data_def): New macro. Use hidden_data_def. + (libm_hidden_data_weak): New macro. Use hidden_data_weak. + (libm_hidden_data_ver): New macro. Use hidden_data_ver. + * inet/in6_addr.c: Replace libc_hidden_def with libc_hidden_data_def. + +2002-09-17 Ulrich Drepper <drepper@redhat.com> + + * include/libc-symbols.h: Change *hidden_proto macros to accept + option parameters and pass those to the attribute definition. + * include/unistd.h (_exit): Add __noreturn__ to libc_hidden_proto call. + + * include/unistd.h: Declare __libc_pause. + + * include/sys/socket.h: Declare __libc_send, __libc_recv, + __libc_sendto, __libc_sendmsg, __libc_recvmsg, and __libc_accept. + + * include/unistd.h: Declare __libc_fork. + +2002-09-17 Roland McGrath <roland@redhat.com> + + * sunrpc/xcrypt.c (passwd2des_internal): Renamed fom passwd2des. + (passwd2des): Define it as an alias. + (xencrypt, xdecrypt): Call passwd2des_internal instead of passwd2des. + +2002-09-12 Bruno Haible <bruno@clisp.org> + + * include/sys/sysctl.h (__sysctl): Add libc_hidden_proto. + * sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Add libc_hidden_def. + + * include/rpc/xdr.h (xdrstdio_create): Add libc_hidden_proto. + * sunrpc/xdr_stdio.c (xdrstdio_create): Add libc_hidden_def. + +2002-09-05 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/unix/sysv/linux/kernel-features.h [__powerpc64__] + (__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_STAT64_SYSCALL, __ASSUME_IPC64, + __ASSUME_FCNTL64, __ASSUME_MMAP2_SYSCALL): Don't define these. + PowerPC64 does not have separate 64-bit syscalls. + +2002-09-16 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/powerpc/mmap64.c (__mmap64): Add a cast. + + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL): + New macro. + + * elf/rtld.c [HP_TIMING_NONAVAIL]: Fix last change for this case. + + * include/unistd.h: Uncomment libc_hidden_proto for _exit. + * sysdeps/mach/hurd/_exit.c: Add libc_hidden_def. + * sysdeps/generic/_exit.c: Likewise. + +2002-09-12 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Regenerate. + + * elf/rtld.c (struct dl_start_final_info): New. + (_dl_start_final): Change second argument to struct + dl_start_final_info *. Set start_time from info. + (_dl_start): Remove bootstrap_map variable, add info. + Define bootstrap_map as macro. If not DONT_USE_BOOTSTRAP_MAP, + store HP_TIMING_NOW result into info.start_time. + +2002-09-16 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/_exit.c: Add libc_hidden_def and weak_alias + to _Exit. + * sysdeps/unix/sysv/linux/i386/_exit.S: Likewise. + +2002-09-15 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * sysdeps/powerpc/abort-instr.h: New file. + +2002-09-14 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/libc-start.c (__libc_start_main): Remove bogus + comment. + + * test-skeleton.c (main): Provide more information in case waitpid + fails. + + * include/unistd.h: Declare __exit_thread. + * sysdeps/generic/libc-start.c (__libc_start_main): Remove dummy_addr. + Wrap call to main in setjmp if HAVE_CANCELBUF is defined. + * sysdeps/unix/sysv/linux/exit-thread.S: New file. + * sysdeps/unix/sysv/linux/_exit.c: New file. + * sysdeps/unix/sysv/linux/i386/_exit.S: New file. + * sysdeps/unix/sysv/linux/Makefile [subdir==posix] (sysdep_routines): + Add exit-thread. + + * configure.in: Add dl_iterate_phdr to test using -nostdlib. + +2002-09-12 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/i386/dl-machine.h (elf_machine_rel) + (case R_386_TLS_DTPMOD32): Don't use addend. + [case R_386_TLS_TPOFF32]: Remove redundant SYM_MAP != NULL check. + (elf_machine_rela): Add support for TLS relocs. + +2002-09-14 Roland McGrath <roland@redhat.com> + + * Makefile (manual/%): Add this pattern target to the iconvdata/% rule. + +2002-07-29 Steven Munroe <sjmunroe@us.ibm.com> + + * stdlib/longlong.h [_ARCH_PPC && W_TYPE_SIZE!=32]: Add powerpc64 + specific asm macros for multiple percision integer math. + +2002-06-04 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/generic/ldconfig.h (FLAG_POWERPC_LIB64) New macro. + * elf/cache.c (print_entry): Add case for FLAG_POWERPC_LIB64. + Remove per-machine conditionals for FLAG_* cases. + * sysdeps/unix/sysv/linux/powerpc/ldconfig.h: New file. + * sysdeps/unix/sysv/linux/powerpc/readelflib.c: New file. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/dl-cache.h: New file. + +2002-09-10 Alan Modra <amodra@bigpond.net.au> + + * csu/gmon-start.c [!TEXT_START]: Define TEXT_START if not already + defined in entry.h. + (__gmon_start__) [!ENTRY_POINT_DECL]: Use TEXT_START macro to obtain + lowest address for profiling in __monstartup call. + * sysdeps/powerpc/powerpc64/elf/entry.h: New file. + +2002-09-14 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/pread.c: __NR_pread64 may be defined + instead of __NR_pread. + * sysdeps/unix/sysv/linux/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite.c: __NR_pwrite64 may be defined + instead of __NR_pwrite. + * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. + +2002-09-13 Roland McGrath <roland@redhat.com> + + * manual/libc.texinfo: @ifinfo -> @ifnottex around copyright notice. + +2002-09-13 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/mips/syscalls.list: Add readahead + syscall. Patch by Guido Guenther <agx@sigxcpu.org>. + +2002-09-12 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h: Correct DT_LOOS and DT_HIOS values. + +2002-09-10 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/powerpc/fpu/s_isnan.c: #undef __isnanf and isnanf after + reading the headers. + +2002-09-12 Roland McGrath <roland@redhat.com> + + * elf/rtld.c (_dl_start_final): Move _begin, _end decls outside the fn. + (_dl_start) [DONT_USE_BOOTSTRAP_MAP]: Use &_begin instead of l_addr to + find the ELF header. + + * elf/rtld.c (dl_main) [USE_TLS]: Adjust l_tls_initimage of main + executable if needed, in case it's actually a shared object. + +2002-09-11 Roland McGrath <roland@redhat.com> + + * elf/dl-load.c (_dl_map_object_from_fd): Use l_addr instead of + l_map_start to adjust l_tls_initimage. + + * nss/getnssent_r.c (__nss_getent_r): Use EAGAIN instead of errno + when using h_errno and it's not set to NETDB_INTERNAL. + * nss/getXXbyYY_r.c [NEED_H_ERRNO]: Likewise. + + * Makefile ($(common-objpfx)testrun.sh): New target. + (others): Depend on it. + (postclean-generated): Append it. + + * nss/bug-erange.c: New file. + * nss/Makefile (tests): Add it. + + * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Return errno + instead of always EAGAIN when status is NSS_STATUS_TRYAGAIN. + + * sysdeps/generic/dl-environ.c (unsetenv): Redo last fix without + strncmp, keeps the code smaller for a non-performance-critical case. + + * sysdeps/generic/dl-environ.c (unsetenv): Rewritten using strncmp, + no longer wrongly matches arbitrary prefixes of NAME. + Reported by Jakub Jelinek <jakub@redhat.com>. + +2002-09-11 Jakub Jelinek <jakub@redhat.com> + + * posix/bug-regex11.c (tests): New array. + (main): Rewritten to run more different tests. + +2002-09-10 Roland McGrath <roland@redhat.com> + + * nscd/Makefile (CPPFLAGS-nscd, CPPFLAGS-nscd_conf, CPPFLAGS-dbg_log) + (CPPFLAGS-connections, CPPFLAGS-hstcache): Variables removed. + Instead, catch all of $(nscd-modules) via cppflags-iterator.mk. + + * sysdeps/powerpc/fpu/s_isnan.c: Do macro hackery on __GI___isnanf as + well so we don't get it declared by include/math.h's hidden_proto. + Then do hidden_proto for __isnanf locally so hidden_def works right. + + * posix/bug-regex5.c (main): Use `union locale_data_value' rather than + a cast to turn nl_langinfo return value into an integer. + +2002-09-10 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regexec.c (build_trtable): Fix the destination of + newline to prevent wrong states from overwriting. + Append break statements to optimization. + +2002-09-10 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c: Wrap #include wchar.h and wctype.h in #if. + (build_range_exp): Add castings to strlen invocations. + (build_collating_symbol): Restore the type of characters from "char" + to "unsigned char", and supplement castings. + (build_collating_symbol): Likewise. + (build_equiv_class): Likewise. + (build_charclass): Likewise. + (seek_collating_symbol_entry): Likewise. + (parse_bracket_exp): Likewise. + (build_word_op): Supplement a casting. + * posix/regex_internal.c: Wrap #include wchar.h and wctype.h in #if. + (re_string_allocate): Fix castings. + (re_string_construct): Likewise. + (re_string_construct_common): Likewise. + (re_string_realloc_buffers): Likewise. + (build_wcs_buffer): Likewise. + (build_wcs_upper_buffer): Likewise. + (re_string_skip_chars): Likewise. + (re_string_reconstruct): Likewise. + * posix/regex_internal.h: Restore the type of characters in + re_string_t and bracket_elem_t from "char" to "unsigned char". + (re_string_elem_size_at): Fix castings. + * posix/regexec.c: Wrap #include wchar.h and wctype.h in #if. + (transit_state_bkref_loop): Restore the type of characters from + "char" to "unsigned char", and append a cast to "char*" pointer in + array subscript. + (check_node_accept_bytes): Likewise. + (find_collation_sequence_value): Likewise. + +2002-09-10 Hartvig Ekner <hartvige@mips.com> + + * sysdeps/mips/memcpy.S: New file. + * sysdeps/mips/memset.S: New file. + * sysdeps/mips/fpu/e_sqrt.c: New file. + * sysdeps/mips/fpu/e_sqrtf.c: New file. + + * fpu/fclrexcpt.c: Cleaned up the FPU exception stuff - was not + functional before. Also removed all SHLIB_COMPAT stuff. + * fpu/fegetenv.c: Likewise. + * fpu/fesetenv.c:: Likewise. + * fpu/feupdateenv.c: Likewise. + * fpu/fgetexcptflg.c: Likewise. + * fpu/fraiseexcpt.c: Likewise. + + * sysdeps/mips/fpu/fsetexcptflg.c: New file. + +2002-09-09 Jakub Jelinek <jakub@redhat.com> + + * include/math.h (__finite_internal, __finitef_internal, + __finitel_internal, __isinf_internal, __isnan_internal): Remove. + (isfinite): Remove. + (__finite, __isinf, __isnan, __finitef, __isinff, __isnanf, __finitel, + __isinfl, __isnanl): Add hidden_proto. + (__fpclassify, __fpclassifyf, __fpclassifyl, __expm1l): Add + libm_hidden_proto. + * math/Makefile (libm-calls): Add s_isinf and s_isnan. + * stdio-common/printf_fp.c (__printf_fp): Remove INTUSE from + __is{inf,nan} calls. + * stdio-common/printf_size.c (printf_size): Likewise. + * sysdeps/generic/printf_fphex.c (__printf_fphex): Likewise. + * sysdeps/generic/s_ldexp.c (__ldexp): Likewise. + * sysdeps/generic/s_ldexpf.c (__ldexpf): Likewise. + * sysdeps/generic/s_ldexpl.c (__ldexpl): Likewise. + * sysdeps/generic/s_expm1l.c (__expm1l): Add libm_hidden_def. + * sysdeps/i386/fpu/s_finite.S (__finite_internal): Remove alias. + (__finite): Add hidden_def. + * sysdeps/i386/fpu/s_finitef.S (__finitef_internal): Remove alias. + (__finitef): Add hidden_def. + * sysdeps/i386/fpu/s_finitel.S (__finitel_internal): Remove alias. + (__finitel): Add hidden_def. + * sysdeps/i386/fpu/s_isinfl.c (__isinfl): Remove INTDEF. Add + hidden_def. + * sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise. + * sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Add + libm_hidden_def. + * sysdeps/i386/fpu/s_expm1l.S (__expm1l): Likewise. + * sysdeps/ieee754/dbl-64/s_finite.c (__finite): Remove INTDEF. Add + hidden_def. + * sysdeps/ieee754/dbl-64/s_isinf.c (__isinf): Likewise. + (__isinfl): Remove INTDEF. + * sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Remove INTDEF. Add + hidden_def. + (__isnanl): Remove INTDEF. + * sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Add + libm_hidden_def. + * sysdeps/ieee754/dbl-64/e_lgamma_r.c (sin_pi): Use __sin and __cos + instead of sin and cos. + * sysdeps/ieee754/flt-32/s_finitef.c (__finitef): Remove INTDEF. + Add hidden_def. + * sysdeps/ieee754/flt-32/s_isinff.c (__isinff): Likewise. + * sysdeps/ieee754/flt-32/s_isnanf.c (__isnanf): Likewise. + * sysdeps/ieee754/flt-32/s_fpclassifyf.c (__fpclassifyf): Add + libm_hidden_def. + * sysdeps/ieee754/ldbl-128/s_finitel.c (__finitel): Remove INTDEF. + Add hidden_def. + * sysdeps/ieee754/ldbl-128/s_isinfl.c (__isinfl): Likewise. + * sysdeps/ieee754/ldbl-128/s_isnanl.c (__isnanl): Likewise. + * sysdeps/ieee754/ldbl-128/s_fpclassifyl.c (__fpclassifyl): Add + libm_hidden_def. + * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add + libm_hidden_def. + * sysdeps/ieee754/ldbl-96/s_finitel.c (__finitel): Remove INTDEF. + Add hidden_def. + * sysdeps/ieee754/ldbl-96/s_isinfl.c (__isinfl): Likewise. + * sysdeps/ieee754/ldbl-96/s_isnanl.c (__isnanl): Likewise. + * sysdeps/ieee754/ldbl-96/s_fpclassifyl.c (__fpclassifyl): Add + libm_hidden_def. + * sysdeps/ia64/fpu/s_finite.S (__finite_internal, __finitef_internal, + __finitel_internal): Remove aliases. + (__finite, __finitef, __finitel): Add hidden_def. + * sysdeps/ia64/fpu/s_isnan.S (__isnan_internal, __isnanf_internal, + __isnanl_internal): Remove aliases. + (__isnan, __isnanf, __isnanl): Add hidden_def. + * sysdeps/ia64/fpu/s_isinf.S (__isinf_internal, __isinff_internal, + __isinfl_internal): Remove aliases. + (__isinf, __isinff, __isinfl): Add hidden_def. + * sysdeps/ia64/fpu/s_fpclassify.S (__fpclassify, __fpclassifyf, + __fpclassifyl): Add libm_hidden_def. + * sysdeps/ia64/fpu/s_expm1l.S (__expm1l): Likewise. + * sysdeps/m68k/s_isinfl.c (__isinfl): Remove INTDEF. Add hidden_def. + * sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Remove. + (hidden_defx): Define and use. + * sysdeps/m68k/fpu/s_fpclassifyl.c (__fpclassifyl): Add + libm_hidden_def. + * sysdeps/m68k/fpu/s_expm1l.c (__expm1l): Likewise. + * sysdeps/m68k/s_isnanl.c (__isnanl): Add hidden_def. + * sysdeps/powerpc/fpu/s_isnan.c (__isnan, __isnanf, __isnanl): + Remove INTDEF. + (__isnan, __isnanf): Add hidden_def. + * sysdeps/x86_64/fpu/s_finitel.S (__finitel_internal): Remove alias. + (__finitel): Add libm_hidden_def. + * sysdeps/x86_64/fpu/s_expm1l.S (__expm1l): Likewise. + + * include/fenv.h (feraiseexcept, fesetenv): Add libm_hidden_proto. + * sysdeps/alpha/fpu/fesetenv.c (fesetenv): Add libm_hidden_ver. + * sysdeps/alpha/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/arm/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/arm/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/generic/fesetenv.c (fesetenv): Likewise. + * sysdeps/generic/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/i386/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/i386/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/m68k/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/m68k/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/mips/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/mips/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/powerpc/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/powerpc/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/sparc/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/sparc/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Add libm_hidden_def. + * sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/ia64/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/sh/sh4/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/s390/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/s390/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + * sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Likewise. + * sysdeps/x86_64/fpu/fraiseexcpt.c (feraiseexcept): Likewise. + +2002-09-09 Steven Munroe <sjmunroe@us.ibm.com> + + * elf/elf.h: Add powerpc64 specific elf relocation and dynamic types. + +2002-09-09 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-error.c (_dl_signal_cerror): Don't print anything if only + LD_DEBUG=statistics or LD_TRACE_PRELINKING. + +2002-09-09 Ulrich Drepper <drepper@redhat.com> + + * string/stratcliff.c: Some more strncpy tests. + Patch by Daniel Jacobowitz <drow@mvista.com>. + +2002-09-08 Roland McGrath <roland@redhat.com> + + * resolv/resolv.h: Include <sys/types.h> for u_long even in + the [__need_res_state] case. + Reported by Bruno Haible <bruno@clisp.org>. + +2002-09-04 Bruno Haible <bruno@clisp.org> + + * sysdeps/generic/bits/ustat.h: Comment fix. + * io/sys/sendfile.h: Comment fix. + * sysdeps/posix/pread.c: Comment fix. + * sysdeps/posix/pread64.c: Comment fix. + * sysdeps/posix/pwrite.c: Comment fix. + * sysdeps/posix/pwrite64.c: Comment fix. + +2002-09-06 Roland McGrath <roland@redhat.com> + + * posix/sys/utsname.h (_UTSNAME_SYSNAME_LENGTH): New macro, defined + to _UTSNAME_LENGTH if not already defined by <bits/utsname.h>. + (_UTSNAME_RELEASE_LENGTH, _UTSNAME_VERSION_LENGTH): Likewise. + (_UTSNAME_MACHINE_LENGTH): Likewise. + (struct utsname): Use new macros instead of _UTSNAME_LENGTH. + +2002-09-06 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/shm_open.c (where_is_shmfs): Correct + test for filesystem type name of mount points. + + * include/errno.h: Use errno definition with __thread for now only + in libc and ld.so. + + * test-skeleton.c (main): Improve error message for unexpected + signal case. + +2002-09-05 Roland McGrath <roland@redhat.com> + + * ctype/ctype-info.c: Renamed __ctype_old_* symbols to __ctype_*. + * locale/lc-ctype.c (_nl_postload_ctype): Likewise. + +2002-09-05 Jakub Jelinek <jakub@redhat.com> + + * wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Unlock and return in + case of failure. + +2002-09-04 Bruno Haible <bruno@clisp.org> + + * sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask, + sigset_get_old_mask): Turn into inline functions. + * sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask, + sigset_get_old_mask): Likewise. + * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask, + sigset_get_old_mask): Likewise. + * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Declutter + syntax. + + * elf/readlib.c (process_file): Conditionalize check for QMAGIC. + + * sysdeps/generic/_strerror.c (_sys_errlist, _sys_nerr): Remove + default definitions. + (__strerror_r): Use _sys_errlist_internal instead of _sys_errlist, + _sys_nerr_internal instead of _sys_nerr. + + * nscd/connections.c (handle_request): Declare CALLER inside #if. + +2002-07-29 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/powerpc/__longjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/__longjmp.S: ...here. + * sysdeps/powerpc/add_n.S: Moved to... + * sysdeps/powerpc/powerpc32/add_n.S: ...here. + * sysdeps/powerpc/addmul_1.S: Moved to... + * sysdeps/powerpc/powerpc32/addmul_1.S: ...here. + * sysdeps/powerpc/atomicity.h: Moved to... + * sysdeps/powerpc/powerpc32/atomicity.h: ...here. + * sysdeps/powerpc/backtrace.c: Moved to... + * sysdeps/powerpc/powerpc32/backtrace.c: ...here. + * sysdeps/powerpc/bp-asm.h: Moved to... + * sysdeps/powerpc/powerpc32/bp-asm.h: ...here. + * sysdeps/powerpc/bsd-_setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: ...here. + * sysdeps/powerpc/bsd-setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/bsd-setjmp.S: ...here. + * sysdeps/powerpc/dl-machine.c: Moved to... + * sysdeps/powerpc/powerpc32/dl-machine.c: ...here. + * sysdeps/powerpc/dl-machine.h: Moved to... + * sysdeps/powerpc/powerpc32/dl-machine.h: ...here. + * sysdeps/powerpc/dl-start.S: Moved to... + * sysdeps/powerpc/powerpc32/dl-start.S: ...here. + * sysdeps/powerpc/gprrest0.S: Moved to... + * sysdeps/powerpc/powerpc32/gprrest0.S: ...here. + * sysdeps/powerpc/gprrest1.S: Moved to... + * sysdeps/powerpc/powerpc32/gprrest1.S: ...here. + * sysdeps/powerpc/gprsave0.S: Moved to... + * sysdeps/powerpc/powerpc32/gprsave0.S: ...here. + * sysdeps/powerpc/gprsave1.S: Moved to... + * sysdeps/powerpc/powerpc32/gprsave1.S: ...here. + * sysdeps/powerpc/lshift.S: Moved to... + * sysdeps/powerpc/powerpc32/lshift.S: ...here. + * sysdeps/powerpc/memset.S: Moved to... + * sysdeps/powerpc/powerpc32/memset.S: ...here. + * sysdeps/powerpc/mul_1.S: Moved to... + * sysdeps/powerpc/powerpc32/mul_1.S: ...here. + * sysdeps/powerpc/ppc-mcount.S: Moved to... + * sysdeps/powerpc/powerpc32/ppc-mcount.S: ...here. + * sysdeps/powerpc/register-dump.h: Moved to... + * sysdeps/powerpc/powerpc32/register-dump.h: ...here. + * sysdeps/powerpc/rshift.S: Moved to... + * sysdeps/powerpc/powerpc32/rshift.S: ...here. + * sysdeps/powerpc/setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/setjmp.S: ...here. + * sysdeps/powerpc/stpcpy.S: Moved to... + * sysdeps/powerpc/powerpc32/stpcpy.S: ...here. + * sysdeps/powerpc/strchr.S: Moved to... + * sysdeps/powerpc/powerpc32/strchr.S: ...here. + * sysdeps/powerpc/strcmp.S: Moved to... + * sysdeps/powerpc/powerpc32/strcmp.S: ...here. + * sysdeps/powerpc/strcpy.S: Moved to... + * sysdeps/powerpc/powerpc32/strcpy.S: ...here. + * sysdeps/powerpc/strlen.S: Moved to... + * sysdeps/powerpc/powerpc32/strlen.S: ...here. + * sysdeps/powerpc/sub_n.S: Moved to... + * sysdeps/powerpc/powerpc32/sub_n.S: ...here. + * sysdeps/powerpc/submul_1.S: Moved to... + * sysdeps/powerpc/powerpc32/submul_1.S: ...here. + * sysdeps/powerpc/elf/bzero.S: Moved to... + * sysdeps/powerpc/powerpc32/elf/bzero.S: ...here. + * sysdeps/powerpc/elf/start.S: Moved to... + * sysdeps/powerpc/powerpc32/elf/start.S: ...here. + * sysdeps/powerpc/fpu/__longjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/__longjmp.S: ...here. + * sysdeps/powerpc/fpu/fprrest.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/fprrest.S: ...here. + * sysdeps/powerpc/fpu/fprsave.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/fprsave.S: ...here. + * sysdeps/powerpc/fpu/setjmp.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/setjmp.S: ...here. + * sysdeps/powerpc/fpu/s_copysign.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: ...here. + * sysdeps/powerpc/fpu/s_copysignf.S: Moved to... + * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c: ...here. + * sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h: ...here. + * sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: ...here. + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: ...here. + * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: ...here. + Support PowerPC64. Separate powerpc into powerpc/powerpc32 and + powerpc/powerpc64. + +2002-07-29 Steven Munroe <sjmunroe@us.ibm.com> + + * FAQ.in: Add powerpc64 to supported targets list. Also state the + minimum gcc version is 3.2 + * README: Add powerpc64 to supported targets list. + * configure.in: Change machine=powerpc to machine=powerpc/powerpc32. + Add powerpc64 and machine=powerpc/powerpc64. + (HAVE_ASM_GLOBAL_DOT_NAME): Define if linux*powerpc/powerpc64*. + * shlib-versions: Set DEFAULT version to 2.2.5 for powerpc64. + * sysdeps/powerpc/Dist: Remove dl-machine.c, dl-start.S, ppc-mcount.S, + gprsave1.S, gprsave0.S, gprrest1.S, and gprrest0.S. + * sysdeps/powerpc/powerpc32/Dist: New file. + * sysdeps/powerpc/Implies: Remove wordsize-32 and powerpc/soft-fp. + * sysdeps/powerpc/powerpc32/Implies: New file. + * sysdeps/powerpc/Makefile(cflags): Remove powerpc32 specific cflags. + ($(with-fp) = no): Move test to powerpc32/Makefile. + ($(subdir) = misc): Move to powerpc32/Makefile. + ($(build-shared) = yes): Move to powerpc32/Makefile. + ($(subdir) = csu): Move to powerpc32/Makefile. + (sysdep-rtld-routines): Remove dl-start. Moved these bits to ... + * sysdeps/powerpc/powerpc32/Makefile: New file. + * sysdeps/powerpc/Versions: Remove libgcc functions. + * sysdeps/powerpc/powerpc32/Versions: New file. + * sysdeps/powerpc/fpu/Makefile: Remove fprsave and fprrest. + * sysdeps/powerpc/powerpc32/fpu/Makefile: New file. + * sysdeps/unix/sysv/linux/configure.in (powerpc*): + Set arch_minimum_kernel=2.4.19 for powerpc/powerpc64. Also set + libc_cv_gcc_unwind_find_fde=yes only if !powerpc/powerpc64. + ($machine): Add powerpc/powerpc64 to if ... | for + libc_cv_slibdir=/libc64. + (powerpc*): Set ldd_rewrite_script. + * sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/powerpc/Dist: Remove clone.S. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist: New file. + Add clone.S. + * sysdeps/unix/sysv/linux/powerpc/Makefile: Remove oldgetrlimit64. + * sysdeps/unix/sysv/linux/powerpc/Versions: Remove GLIBC_2.0 + functions. Remove GLIBC_2.2 functions except getrlimit and + setrlimit. Moved them to ... + * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: New file. + +2002-09-04 Ulrich Drepper <drepper@redhat.com> + + * libio/tst-atime.c: Include <errno.h>. + (do_test): Only perform fstatvfs check if ST_NOATIME is defined. + +2002-09-03 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (regcomp): Append "__restrict" modifier to avoid + warnings of some compilers. + (build_collating_symbol): Change the type of characters from + "unsigned char" to "char", and append a cast to "char*" pointer in + array subscript. + (build_collating_symbol): Likewise. + (build_equiv_class): Likewise. + (build_charclass): Likewise. + (re_compile_pattern): Remove incorrect cast. + (re_compile_fastmap_iter): Change the type of characters from + "unsigned char" to "char", and append a cast to "char*" pointer + in array subscript. + (parse_bracket_exp): Likewise. + * posix/regex_internal.c (re_string_construct_common): Likewise. + (re_string_allocate): Likewise. + (re_string_construct): Likewise. + (re_string_realloc_buffers): Likewise. + (build_wcs_buffer): Likewise. + (re_string_reconstruct): Likewise. + * posix/regex_internal.h: Change the type of characters in + re_string_t and bracket_elem_t from "unsigned char" to "char". + * posix/regexec.c (regexec): Append "__restrict" modifier to avoid + warnings of some compilers. + (transit_state_bkref_loop): Change the type of characters from + "unsigned char" to "char", and append a cast to "char*" pointer in + array subscript. + (check_node_accept_bytes): Likewise. + (find_collation_sequence_value): Likewise. + +2002-09-04 Roland McGrath <roland@redhat.com> + + * resolv/nss_dns/dns-network.c (MAXPACKET): Increase minimum value + from 1024 to 65536, to avoid buffer overrun. + +2002-09-03 Gerhard Tonn <ton@de.ibm.com> + + * sysdeps/s390/s390/fpu/libm-test-ulps: Regenerate. + +2002-09-04 Ulrich Drepper <drepper@redhat.com> + + * libio/tst-atime.c (do_test): Make sure noatime flag isn't set + for filesystem. + +2002-09-04 Jakub Jelinek <jakub@redhat.com> + + * posix/bug-regex11.c: New test. + * posix/Makefile (tests): Add bug-regex11. + +2002-09-03 Jakub Jelinek <jakub@redhat.com> + + * locale/tst-C_locale.c (run_test): Pass LC_ALL_MASK not LC_ALL to + newlocale. + +2002-09-02 Roland McGrath <roland@redhat.com> + + * sysdeps/powerpc/elf/libc-start.c [! SHARED]: Call + __pthread_initialize_minimal and __libc_check_standard_fds to + match the generic version. + + * sysdeps/unix/sysv/linux/shmat.c (shmat): Add a cast to avoid a + warning when INLINE_SYSCALL macro uses the __syscall_ipc function. + + * locale/localeconv.c (__localeconv): Cast -1 to char to avoid + warnings on platorms where char is unsigned. + +2002-09-02 Ulrich Drepper <drepper@redhat.com> + + * version.h (VERSION): Bump to 2.2.93. + + * sysdeps/unix/sysv/linux/x86_64/Dist: Add __start_context.S. + +2002-09-02 Jakub Jelinek <jakub@redhat.com> + + * elf/rtld.c (dl_main): If prelinking succeeded, mark all objects + as relocated. + +2002-09-02 Jack Howarth <howarth@bromo.msbb.uc.edu> + + * sysdeps/powerpc/fpu/libm-test-ulps: Regenerated. + +2002-09-02 Jakub Jelinek <jakub@redhat.com> + + * locale/localeinfo.h (struct locale_data): Add private.ctype. + * wcsmbs/wcsmbsload.h (__wcsmbs_gconv_fcts, __wcsmbs_last_locale, + __wcsmbs_to_wc, update_conversion_ptrs): Removed. + (__wcsmbs_gconv_fcts_c, _nl_C_LC_CTYPE): New externs. + (__wcsmbs_load_conv): Remove const from argument. + (_nl_cleanup_ctype): New proto. + (get_gconv_fcts): New function. + * wcsmbs/wcsmbsload.c (__wcsmbs_last_locale): Removed. + (__wcsmbs_to_wc): Rename back to... + (to_wc): ... this. + (__wcsmbs_gconv_fcts): Rename to... + (__wcsmbs_gconv_fcts_c): ... this. Make const. Use to_wc. + (lock): Removed. + (__libc_setlocale_lock): New extern. + (__wcsmbs_load_conv): Remove const from argument. + Initialize new_category->private.ctype instead of a global + variable. + (__wcsmbs_clone_conv): Use get_gconv_fcts instead of + update_function_ptrs. No locking is necessary. + (_nl_cleanup_ctype): New function. + * wcsmbs/btowc.c (__btowc): Use get_gconv_fcts instead of + update_function_ptrs and a global __wcsmbs_gconv_fcts variable. + * wcsmbs/mbrtowc.c (__mbrtowc): Likewise. + * wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise. + * wcsmbs/wcrtomb.c (__wcrtomb): Likewise. + * wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise. + * wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise. + * wcsmbs/wctob.c (wctob): Likewise. + * stdlib/mblen.c (mblen): Likewise. + * stdlib/mbtowc.c (mbtowc): Likewise. + * stdlib/wctomb.c (wctomb): Likewise. + * wcsmbs/mbsrtowcs.c (__mbsrtowcs): Likewise. + Remove calls to wcsmbs_get_towc_func and wcsmbs_free_funcs. + * wcsmbs/mbsrtowcs_l.c (wcsmbs_get_towc_func, wcsmbs_free_funcs): + Removed. + +2002-09-02 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Add __fxstat64. + +2002-09-01 Roland McGrath <roland@redhat.com> + + * ctype/ctype.h (__ctype_b, __ctype_toupper, __ctype_tolower): + Variable declarations removed. + (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Declare + these functions to replace them. + (__isctype, tolower, toupper, _tolower, _toupper): Use those accessor + functions plus an indirection rather than the old global variables. + * include/ctype.h (__isctype, tolower, _tolower, toupper, _toupper): + Macros removed. + (__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): New extern + inline functions. + * ctype/ctype-info.c: Revert last reversion back the other way. + Define tsd vars CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER. + Define real function versions of include/ctype.h inlines here. + * ctype/Versions (libc: GLIBC_2.3): Add __ctype_b_loc, + __ctype_tolower_loc, __ctype_toupper_loc. + * locale/lc-ctype.c: Revert last reversion back the other way. + (_nl_postload_ctype): If current thread uses the global locale, + update its tsd vars. + * locale/uselocale.c (__uselocale): Update tsd vars from new locale. + * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add CTYPE_B, + CTYPE_TOLOWER, CTYPE_TOUPPER. + + * sysdeps/generic/bits/libc-tsd.h (__libc_tsd_address): New macro. + * sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_address): Renamed + from __libc_tsd_threadvar_location. + (__libc_tsd_set, __libc_tsd_get): Update uses. + +2002-09-01 Ulrich Drepper <drepper@redhat.com> + + * ctype/ctype.h: Undo the patch before the last one. Put back the + macro definitions for the standard functions to access the + classification and mapping arrays. + * include/ctype.h: Partly revert last patch. Move the macro + definitions for the exported functions back to the public header. + #undef all the macros defined here before redefining. + * ctype/ctype-info.c: Revert last patch. + * locale/lc-ctype.c: Revert last patch. + + * ctype/Makefile (routines): Add isctype. + * ctype/Versions (libc): Export isctype and __isctype for GLIBC_2.3. + * ctype/ctype.h: Add declaration of isctype. + * include/ctype.h: Declare __isctype. + * ctype/isctype.c: New file. + +2002-09-01 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass + TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN instead of 0, 1. + + * include/getopt.h: Include <features.h> before <posix/getopt.h>. + + * locale/findlocale.c (_nl_remove_locale): Don't search in + _nl_locale_file_list if DATA->alloc is ld_archive. + Use _nl_unload_locale to do the rest of the work. + + * locale/loadarchive.c (_nl_load_locale_from_archive): Set usage_count + of new structure to UNDELETABLE. + + * wctype/wctype.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, + iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank, + towlower, towupper): Macros removed. + * ctype/ctype.h (__tobody): Put parens around macro argument. + (__isctype): Macro removed. + (__ctype_b, __ctype_tolower, __ctype_toupper): Decls removed. + (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, + ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, + tolower, toupper): Macros and inlines removed. + * include/ctype.h [! NOT_IN_libc] + (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, + ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, + tolower, toupper): Define here instead, using _NL_CURRENT. + * ctype/ctype.c (__ctype_tolower, __ctype_toupper): Define as macros + using _NL_CURRENT. + * ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Likewise. + * ctype/ctype-info.c (__ctype_b, __ctype_tolower, __ctype_toupper): + Renamed these to __ctype_old_*. Define old names only for SHLIB_COMPAT. + (__ctype32_b, __ctype32_tolower, __ctype32_toupper): Likewise. + (__ctype32_wctrans, __ctype32_wctrans, __ctype32_width): Removed. + * locale/lc-ctype.c (_nl_postload_ctype): Use renamed variables, + conditional on SHLIB_COMPAT. Don't set removed variables at all. + * wctype/wcfuncs.c: Use _NL_CURRENT instead of those globals. + * wcsmbs/wcwidth.h (internal_wcwidth): Likewise. + * resolv/res_init.c [RESOLVSORT] (sort_mask): Renamed sort_mask_chars. + (ISSORTMASK): Update use. + * intl/localealias.c [__GNUC__]: #undef alloca before #define. + * nss/nss_files/files-XXX.c (last_use): Rename `none' to `nouse'. + (_nss_files_getENTNAME_r): Likewise. + * nss/nss_files/files-alias.c (last_use, _nss_files_getaliasent_r): + Likewise. + + * Makerules (all-nonlib): Renamed from all-tests. + Include $(others) here too. + * locale/Makefile (CPPFLAGS-locale, CPPFLAGS-localedef, + CPPFLAGS-ld-ctype, CPPFLAGS-ld-time, CPPFLAGS-ld-numeric, + CPPFLAGS-ld-monetary, CPPFLAGS-ld-collate, CPPFLAGS-ld-identification, + CPPFLAGS-charmap, CPPFLAGS-locarchive, CPPFLAGS-linereader, + CPPFLAGS-charmap-dir): Variables removed. Instead, catch all + the program modules via cppflags-iterator.mk. + * sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed. + Instead, catch all rpcgen-objs via cppflags-iterator.mk. + +2002-08-31 Roland McGrath <roland@redhat.com> + + * posix/tst-getconf.sh: If no third arg, work with static linking. + + * locale/categories.def (LC_TIME): No more _nl_postload_time. + + * locale/setlocale.c (_nl_category_postload): Use weak refs only under + [_NL_CURRENT_INDIRECT]. + +2002-08-31 Ulrich Drepper <drepper@redhat.com> + + * time/tst-ftime_l.c (main): Also test strftime with uselocale. + +2002-08-31 Roland McGrath <roland@redhat.com> + + * locale/newlocale.c (__newlocale): Don't use strdup for names. + Instead, make the single allocation of the structure larger to hold + the name strings. + * locale/duplocale.c (__duplocale): Don't strdup names individually. + Instead, calculate size for a single allocation and copy into it. + * locale/freelocale.c (__freelocale): Don't free names individually. + + * locale/newlocale.c (__newlocale): Don't leak old data or names. + + * locale/xlocale.h (__locale_struct): Move __names member last, + for binary compatibility. + + * locale/duplocale.c (__duplocale): Free names from the right array. + + * locale/uselocale.c (__uselocale): Return previous locale when + setting a new one. + + * locale/newlocale.c: Commit changes from 2002-08-30 + batch where I failed to commit this file: + (__newlocale): Fill in __names array. + +2002-08-31 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/gnu/Makefile: Only depend on Versions.v.i for + errlist-compat.c if versioning==yes. + +2002-08-31 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Declare + external functions with hidden attribute. + (elf_machine_rela): Optimize. + + * sysdeps/x86_64/memset.S: New file. + * sysdeps/x86_64/bzero.S: New file. + * sysdeps/x86_64/stpcpy.S: New file. + * sysdeps/x86_64/strcat.S: New file. + * sysdeps/x86_64/strchr.S: New file. + * sysdeps/x86_64/strcpy.S: New file. + * sysdeps/x86_64/strcspn.S: New file. + * sysdeps/x86_64/strlen.S: New file. + * sysdeps/x86_64/strpbrk.S: New file. + * sysdeps/x86_64/strspn.S: New file. + * sysdeps/x86_64/strcmp.S: New file. + * sysdeps/x86_64/strtok_r.S: New file. + * sysdeps/x86_64/strtok.S: New file. + * sysdeps/x86_64/memcpy.S: New file. + * sysdeps/x86_64/mempcpy.S: New file. + + * sysdeps/x86_64/fpu/s_copysign.S: Fix algorithm. + + * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for double tests. + +2002-08-31 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/Makefile (generated): Add errlist-compat.c. + + * locale/Makefile (extra-objs): Add $(localedef-aux:=.o). + + * locale/localeinfo.h: Pretty printing. + + * stdio-common/vfprintf.c (vfprintf): Remove duplicate ifs in + form_number handling. + +2002-08-31 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/fpu/libm-test-ulps: Add ulps for float and long + double tests. + + * sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_routines): Add + __start_context. + + * sysdeps/unix/sysv/linux/x86_64/__start_context.S: New file. + + * sysdeps/unix/sysv/linux/x86_64/makecontext.c: New file. + + * sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: Add defines for + registers used for passing args. + + * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Save and restore + all needed registers. + + * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Restore all + registers. + + * sysdeps/unix/sysv/linux/x86_64/getcontext.S: Save all needed + registers. + +2002-08-30 Ulrich Drepper <drepper@redhat.com> + + * elf/dynamic-link.h (elf_get_dynamic_info): Mark with + always_inline attribute. + +2002-08-30 Roland McGrath <roland@redhat.com> + + * stdlib/tst-setcontext.c (main): If makecontext does nothing, + presume it's the stub and bail without error. + + * nss/getnssent_r.c (__nss_getent_r): Return ENOENT if status is + neither SUCCESS nor TRYAGAIN (see 2002-08-25 change [PR libc/4259]). + + * nss/getnssent_r.c (__nss_getent_r): Set *H_ERRNOP, not global one. + + * sysdeps/x86_64/hp-timing.h (HP_TIMING_NOW, HP_TIMING_ACCUM): New + macros replace the i686 versions for 64-bit mode. + + * locale/duplocale.c: Include <string.h>. + + * intl/dcigettext.c (DCIGETTEXT) [_LIBC]: Check for bogus CATEGORY. + [_LIBC] (category_to_name): Don't define the function. Instead + define a macro using _nl_category_names. + + * locale/xlocale.h (struct __locale_struct): New member `__names'. + * locale/xlocale.c (_nl_C_locobj): Update initializer. + * locale/global-locale.c (_nl_global_locale): Likewise. + * locale/duplocale.c (__duplocale): strdup __names elements. + * locale/freelocale.c (__freelocale): Free __names elements. + * locale/localename.c (_nl_current_names): Variable removed. + (__current_locale_name): Use _NL_CURRENT_LOCALE->__names instead. + * locale/localeinfo.h (_nl_current_names): Removed decl. + * locale/setlocale.c: Use _nl_global_locale->__names in place of + _nl_current_names throughout. + + * locale/setlocale.c (setlocale): strdup -> __strdup (not ISO C). + + * sysdeps/gnu/errlist-compat.awk: Emit link_warnings for sys_errlist + and sys_nerr in the output file. + + * sunrpc/Makefile (rpcgen-cmd): Pass CPP in rpcgen's environment. + * scripts/cpp: Just use the environment variable. + + * libio/tst-mmap-setvbuf.c (main): Use 'm' fopen flag. + * libio/tst-mmap-offend.c (do_test): Likewise. + * libio/tst-mmap-fflushsync.c (do_test): Likewise. + * libio/tst-mmap-eofsync.c (do_test): Likewise. + * libio/tst-mmap2-eofsync.c (do_test): Likewise. + + * locale/localename.c: If the current locale is the global locale, use + _nl_current_names; otherwise use the locale object. + +2002-08-29 Ulrich Drepper <drepper@redhat.com> + + * libio/fileops.c (_IO_new_file_fopen): Recognize new mode specifier + 'm' to enable mmap I/O. + * libio/libio.h (_IO_FILE): Rename _blksize field to _flags2. The + former wasn't used (anymore?). + (_IO_FLAGS2_MMAP): New define. + * libio/genops.c (_IO_no_init): Initialize _flags2 field. + * libio/iofopen.c (__fopen_maybe_mmap): Use mmap callbacks only if + _IO_FLAGS2_MMAP bit is set. + * libio/iofdopen.c (_IO_new_fdopen): Recognize 'm' mode specifier. + Enable mmap-using mode only if 'm' was set. + +2002-08-29 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/bits/local_lim.h (NAME_MAX): New macro. + + * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup: doinit): + Change argument type from int to intptr_t. + + * locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the + initializer on [! _HURD_THREADVAR_H] (bad kludge). + * sysdeps/mach/hurd/i386/init-first.c (init): Initialize + _HURD_THREADVAR_LOCALE slot to &_nl_global_locale. + * hurd/hurdsig.c (_hurdsig_init): Likewise. Zero other slots. + + * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def. + + * sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64). + + * sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort. + + * include/assert.h (__assert_perror_fail): Declare it, do hidden_proto. + * assert/assert-perr.c: Add libc_hidden_def. + * elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function. + + * sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions + found at all. + * sysdeps/gnu/Versions: File removed. Moved all #errlist-compat + sys_errlist stuff to ... + * sysdeps/unix/sysv/linux/Versions: ... here. + + * mach/mach.h: Include <features.h>. + +2002-08-29 Roland McGrath <roland@redhat.com> + + * elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing. + * sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and + define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME. + + * sysdeps/generic/readelflib.c (process_elf_file): Fix typo. + + * iconv/gconv_int.h: Include <stdlib.h> for alloca decl. + (norm_add_slashes): alloca -> __alloca + +2002-08-29 Jakub Jelinek <jakub@redhat.com> + + * stdio-common/vfprintf.c (vfprintf): Add builtin_expect for + string_malloced, it is unlikely to be set. + Only call free with non-NULL workspace. + * sysdeps/sparc/sparc32/sparcv9/Makefile (sysdep-CFLAGS): Use + -mcpu=ultrasparc, not only tune for it. + (ASFLAGS*): Set unconditionally. + + * sysdeps/generic/readelflib.c (process_elf_file): Make LOADADDR + ElfW(Addr). Don't mask upper 32-bits and lower 12 bits off from + p_vaddr/p_offset when computing LOADADDR. + +2002-08-29 Ulrich Drepper <drepper@redhat.com> + + * version.h (VERSION): Bump to 2.2.92. + + * time/Makefile (tst-ftime_l-ENV): New variable. + + * iconvdata/ibm870.c: All bytes are now used, no holes anymore. + + * localedata/charmaps/IBM870: Add correct mapping for <U017E>, + <U017A>, <U017D> and <U0179>. Add missing mappings. + Patch by Antonin Kopecky <akopecky@tajmac-zps.cz>. + + * gmon/sys/gmon.h (ARCDENSITY): Bump to 3. + Define ARCINDEX. Bump MAXARCS to 1 << 20. + (struct tostruct): Use ACRINDEX as type for link field. + (statuc gmonparam): Likewise for froms. + * gmon/gmon.c (__monstartup): Use currect cast for assignments to + kcount and froms. + (write_call_graph): Use correct type for from_index and to_index. + * gmon/mcount.c: Use correct types for frompcindex and toindex + variables. + Patches by Dan Kegel <dank@kegel.com>. + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix code to determine + canonical name. + + * time/strptime.c (ISSPACE): New #define. Use isspace or + __isspace_l. Replace calls to isspace. + (match_string): Define variant for USE_IN_EXTENDED_LOCALE_MODEL. + +2002-08-29 Roland McGrath <roland@redhat.com> + + * string/tst-strxfrm.c: Remove __ from function names. + +2002-08-28 Ulrich Drepper <drepper@redhat.com> + + * include/wchar.h: Declare __mbsrtowcs_l. + * wcsmbs/Makefile (routines): Add mbsrtowcs_l. + * wcsmbs/mbsrtowcs.c: Add support for compilation with + USE_IN_EXTENDED_LOCALE_MODEL. + * wcsmbs/mbsrtowcs_l: New file. + * wcsmbs/wcsmbsload.c (__wcsmbs_to_wc): Renamed from to_wc. Don't + define as static. Change all uses. + (__wcsmbs_getfct): Renamed from getfct. Don't define as static. + Change all callers. + * wcsmbs/wcsmbsload.h: Declare __wcsmbs_to_wc and __wcsmbs_getfct. + * time/strftime.c: When translating for the extended locale model + use the _l functions. + * time/Makefile (tests): Add tst-ftime_l. + * time/tst-ftime_l.c: New file. + +2002-08-28 Roland McGrath <roland@redhat.com> + + * locale/findlocale.c [NL_CURRENT_INDIRECT] (_nl_C): New variable. + * locale/setlocale.c (setlocale) [NL_CURRENT_INDIRECT]: Null return + from _nl_find_locale ok if for _nl_C_name. + + * locale/nl_langinfo.c [NL_CURRENT_INDIRECT]: Use a categories.def + iterator to refer to each category's _nl_current_LC_FOO symbol, so + we know they are all linked in. + + * NEWS: Added 2.2.6 text from 2.2 branch version. + + * time/strptime.c (strptime_internal): Remove spurious const. + + * locale/lc-time.c (_nl_init_era_entries, _nl_get_era_entry, + _nl_select_era_entry): Moved to ... + * time/era.c: ... here, new file. + (_nl_init_era_entries, _nl_get_era_entry, _nl_select_era_entry): + Add internal_function to definitions. Take an additional argument + giving the `struct locale_data *' to use. + * locale/lc-time.c (_get_alt_digit, _nl_get_walt_digit, + _nl_parse_alt_digit): Moved to ... + * time/alt_digit.c: ... here, new file. + * time/lc-time-cleanup.c: New file. + * locale/lc-time.c (_nl_postload_time, free_mem): Functions removed. + * locale/localeinfo.h (_nl_postload_time): Remove decl. + (_nl_cleanup_time): Declare it. + (_nl_get_era_entry, _nl_select_era_entry): Update decls. + (_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Likewise. + * time/Makefile (aux): New variable: era, alt_digit, lc-time-cleanup. + * time/strftime.c: Pass locale data to helper functions. + * time/strptime.c: Likewise. + + * locale/localeinfo.h (struct locale_data): New member `private' + * locale/loadlocale.c (_nl_intern_locale_data): Initialize it. + (_nl_unload_locale): Call LOCALE->private.cleanup if it is set. + * locale/C-collate.c: Update initializer. + * locale/C-identification.c: Likewise. + * locale/C-measurement.c: Likewise. + * locale/C-telephone.c: Likewise. + * locale/C-address.c: Likewise. + * locale/C-name.c: Likewise. + * locale/C-paper.c: Likewise. + * locale/C-time.c: Likewise. + * locale/C-numeric.c: Likewise. + * locale/C-monetary.c: Likewise. + * locale/C-messages.c : Likewise. + * locale/C-ctype.c: Likewise. + + * time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL] (_NL_CURRENT_WORD): + Redefine this too. + +2002-08-28 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/ldsodefs.h (__rtld_global_attribute__): Define. + (_rtld_global): Use it. + + * sysdeps/gnu/Dist: Remove errlist-compat.c. + * sysdeps/gnu/Makefile (errlist-compat.c): Build this file in the + object directory. Pass all Versions files to the awk script. + * sysdeps/gnu/errlist-compat.c: Removed. + * sysdeps/gnu/errlist.awk: Use #errlist-compat comments from the + first Versions file in the search path which has them. + Allow multiple errlist symbol versions to have the same count of + errors. + * sysdeps/gnu/errlist-compat.awk: Include <errlist-compat.c> instead + of "errlist-compat.c". + * sysdeps/gnu/errlist.c: Regenerated. + * sysdeps/unix/sysv/linux/mips/Versions (libc): Add #errlist-compat + comments at GLIBC_2.0, GLIBC_2.1 and GLIBC_2.3. + * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. + (librt): Add aio_cancel and aio_cancel64 as GLIBC_2.3. + * sysdeps/unix/sysv/linux/hppa/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/Versions: New file. + * sysdeps/unix/sysv/linux/alpha/bits/errno.h: New file. + * sysdeps/unix/sysv/linux/hppa/bits/errno.h (ECANCELED): Define to + ECANCELLED if not defined by kernel headers. + * sysdeps/unix/sysv/linux/bits/errno.h: Don't redefine ECANCELED if + already defined by kernel headers. + * sysdeps/unix/sysv/linux/sparc/bits/errno.h: New file. + * sysdeps/pthread/aio_cancel.c: Don't include aio.h and its + aio_cancel64 renaming hack nor provide weak_alias if aio_cancel + is a macro. + * Versions.def (GLIBC_2.3) [librt]: Add. + + * sysdeps/unix/sysv/linux/alpha/pipe.S: New file. + +2002-08-28 Ulrich Drepper <drepper@redhat.com> + + * include/libc-symbols.h [!__ASSEMBLER__] (declare_symbol_1): Add + missing comma to .type directive. + +2002-08-28 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/ia64/elf/configure.in (PI_STATIC_AND_HIDDEN): Define + unconditionally. + * sysdeps/alpha/elf/configure.in (libc_cv_alpha_hidden_gprel): New + check. + (PI_STATIC_AND_HIDDEN): Define if check succeeded. + +2002-08-28 Jakub Jelinek <jakub@redhat.com> + + * locale/loadarchive.c (_nl_load_locale_from_archive): Add fd >= 0 + check to close_and_out close. Replace return NULL statements where + fd might be >= 0 with goto close_and_out. Close the file descriptor + when it is no longer needed. + +2002-08-28 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/s390/s390-64/dl-machine.h: Avoid unescaped newlines in + string constants. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/unix/sysv/linux/m68k/register-dump.h: Likewise. + * sysdeps/unix/sysv/aix/gettimeofday.c: Likewise. + +2002-08-28 Roland McGrath <roland@redhat.com> + + * Makeconfig (default_cflags): Revert unintended change. + +2002-08-28 Ulrich Drepper <drepper@redhat.com> + + * version.h (VERSION): Bump to 2.2.91. + + * configure.in: Disable TLS support by default for now. + + * sysdeps/i386/fpu/libm-test-ulps: Adjust ulp for yn for float. + + * sysdeps/generic/strtol.c (strtol): Add some more casts to avoid + warnings. + + * stdlib/strtod.c (STRTOF): Correct type in cast of last patch. + + * stdlib/fmtmsg.c (fmtmsg): Use correct test for failure of + fprintf/fwprintf calls. + +2002-08-28 Roland McGrath <roland@redhat.com> + + * Makeconfig (run-program-prefix): Fix bogus use of $(findstring ...) + to use $(filter ...) instead. Same bug fixed in aix conditionals. + + * locale/setlocale.c: Declare postload functions weak. + + * elf/tst-tls1-static.c: New file. + * elf/tst-tls2-static.c: New file. + * elf/Makefile ($(tests-static):%=$(objfpx)%.o): Remove rule. + + Make uselocale support static linking. + * locale/xlocale.c: Revert changes putting _nl_global_locale here. + This file again just defines _nl_C_locobj. + (_nl_C_locobj): Use a categories.def iterator in the initializer. + * locale/global-locale.c: New file. Define _nl_global_locale here, + using all weak references in the initializer. + * locale/Makefile (aux): Add global-locale. + * locale/localeinfo.h (_nl_global_locale, _NL_CURRENT_LOCALE): Make + these unconditional, along with the tsd decl. + [!SHARED && HAVE___THREAD && HAVE_WEAK_SYMBOLS] (NL_CURRENT_INDIRECT): + Define it under these conditions. + [NL_CURRENT_INDIRECT]: Test this instead of [! SHARED]. + Don't declare _nl_current. Declare _nl_current_LC_FOO as + `extern __thread struct locale_data *const *'. + [NL_CURRENT_INDIRECT] + (_NL_CURRENT_DATA, _NL_CURRENT, _NL_CURRENT_WSTR): Add indirection. + [NL_CURRENT_INDIRECT] (_NL_CURRENT_DEFINE): Rewritten. Define + the thread variable _nl_current_LC_FOO and also a special absolute + symbol _nl_current_LC_FOO_used. + * locale/uselocale.c (__uselocale) [NL_CURRENT_INDIRECT]: + Set each _nl_current_LC_FOO symbol to point into the new locale, + using weak references to test if _nl_current_LC_FOO_used was linked in. + * locale/setlocale.c [! SHARED]: Replace this conditional ... + [NL_CURRENT_INDIRECT]: ... with this one. + (_nl_current, _nl_C): Variables removed. + [NL_CURRENT_INDIRECT] (_nl_current_used): New variable, table of + weak references to _nl_current_LC_FOO_used. + [NL_CURRENT_INDIRECT] (CATEGORY_USED): Define using that table. + (free_category): New function, broken out of ... + (free_mem): ... here. Call that. + (free_mem) [NL_CURRENT_INDIRECT]: Use a categories.def iterator + instead of a loop. + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Don't check for + PT_LOAD program headers and don't try to relocate PT_TLS's p_vaddr; + it is already absolute. + + * elf/Makefile (tests): List tst-tls1 and tst-tls2 unconditionally. + [$(build-static) = yes] (tests): Add tst-tls1-static, tst-tls2-static. + [$(build-static) = yes] (tests-static): New variable. + ($(tests-static):%=$(objfpx)%.o)): New static pattern rule. + +2002-08-26 Christoph Hellwig <hch@lst.de> + + * sysdeps/unix/sysv/linux/sys/personality.h: Remark origin, fix + formating braindamage, add missing PER_HPUX and PER_OSF1 values. + +2002-08-28 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/x86_64/Dist: Add _mcount.S and bits/link.h. + + * sysdeps/s390/Dist: Add bits/link.h. + + * sysdeps/sh/Dist: New file. + + * sysdeps/ia64/Dist: Add ia64libgcc.S. + + * sysdeps/wordsize-32/Dist: New file. + + * sysdeps/unix/sysv/linux/alpha/Dist: Add dl-brk.S. + * sysdeps/unix/sysv/linux/powerpc/Dist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Likewise. + + * sysdeps/unix/sysv/linux/Dist: Add dl-brk.c, dl-sbrk.c, and + sys/personality.h. + + * sysdeps/unix/Dist: Add i386/dl-brk.S, mips/dl-brk.S, and + sparc/dl-brk.S. + + * sysdeps/unix/bsd/Dist: Add vax/dl-brk.S. + + * sysdeps/unix/bsd/sun/Dist: New file. + + * sysdeps/unix/bsd/osf/Dist: New file. + + * sysdeps/unix/bsd/hp/Dist: New file. + + * sysdeps/unix/arm/Dist: New file. + + * sysdeps/powerpc/Dist: Add divdi3.c and libgcc-compat.S. + + * sysdeps/mach/hurd/Dist: Add set-init.c. + + * sysdeps/i386/Dist: Add bits/link.h. + + * sysdeps/gnu/Dist: Add errlist-compat.c errlist-compat.awk. + + * sysdeps/generic/Dist: Add dl-brk.c and dl-sbrk.c. + + * locale/Makefile (distribute): Add hashval.h. + + * iconvdata/Makefile (distribute): Add tcvn5712-1.c and armscii-8.c. + + * sysdeps/unix/sysv/linux/Dist: Remove errlist.h. + + * misc/sys/cdefs.h: Define __BEGIN_NAMESPACE_STD, __END_NAMESPACE_STD, + __USING_NAMESPACE_STD, __BEGIN_NAMESPACE_C99, __END_NAMESPACE_C99, and + __USING_NAMESPACE_C99 depending on _GLIBCPP_USE_NAMESPACES. + * ctype/ctype.h: Prepare headers for use in ISO C++ compliant + implementations. + * libio/stdio.h: Likewise. + * locale/locale.h: Likewise. + * math/math.h: Likewise. + * math/bits/mathcalls.h: Likewise. + * setjmp/setjmp.h: Likewise. + * signal/signal.h: Likewise. + * stdlib/stdlib.h: Likewise. + * string/string.h: Likewise. + * time/time.h: Likewise. + * wcsmbs/wchar.h: Likewise. + * wctype/wctype.h: Likewise. + +2002-08-28 Roland McGrath <roland@redhat.com> + + * locale/tst-C-locale.c (run_test): Remove __ from function names. + +2002-08-28 Jakub Jelinek <jakub@redhat.com> + Roland McGrath <roland@redhat.com> + + * locale/hashval.h (compute_hashval): Use prototype defn. + (hashval_t): New macro, defined to unsigned long int + if not already defined. + (compute_hashval): Return hashval_t instead of unsigned long int. + * locale/loadarchive.c (hashval_t): New macro. + * locale/programs/locarchive.c: Include hashval.h directly instead + of simple-hash.h. + (compute_hashval, hashval_t): Define these macros first. + (insert_name): Use archive_hashval instead of compute_hashval. + (add_locale, delete_locales_from_archive): Likewise. + +2002-08-28 Jakub Jelinek <jakub@redhat.com> + + * locale/programs/locarchive.c (insert_name): Suppress warnings about + hash collisions if be_quiet. + +2002-08-27 Roland McGrath <roland@redhat.com> + + * locale/locale.h (__newlocale, __duplocale, __freelocale, + __uselocale): Don't declare these any more. + * include/locale.h (__uselocale): Declare here instead, using __typeof. + + * sysdeps/unix/readdir.c: If getdents fails with ENOENT, restore errno + and treat it as an EOF return. + * sysdeps/unix/readdir_r.c: Likewise. + + * sysdeps/gnu/errlist-compat.awk: Include <bits/wordsize.h> in output. + From Alexandre Oliva <aoliva@redhat.com>. + * sysdeps/gnu/errlist-compat.c: Regenerated. + +2002-08-27 Brian Youmans <3diff@gnu.org> + + * sysdeps/ieee754/flt-32/e_asinf.c: Modified copying permission + wording at request of copyright holder Stephen Moshier. + * sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise. + * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise. + +2002-08-28 Jakub Jelinek <jakub@redhat.com> + + * ctype/ctype.h (isascii_l, toascii_l): Define to __*_l counterparts. + * ctype/ctype-extn.c (isblank_l): Add weak alias. + * sysdeps/generic/strtol_l.c (strtol_l): Likewise. + * sysdeps/generic/strtoll_l.c (strtoll_l): Likewise. + * sysdeps/generic/strtoul_l.c (strtoul_l): Likewise. + * sysdeps/generic/strtoull_l.c (strtoull_l): Likewise. + * wctype/iswctype_l.c (iswctype_l): Likewise. + +2002-08-27 Roland McGrath <roland@redhat.com> + + * time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: No libc_hidden_def. + + * ctype/ctype.h (__exctype_l): Don't declare __ name. + * stdlib/stdlib.h: Don't declare __*_l names. + * include/stdlib.h: Declare them here instead. + * include/string.h: Don't declare __*_l names. + * string/string.h: Declare them here instead. + * time/time.h: Don't declare __*_l names. + * include/time.h: Declare them here instead. + * wcsmbs/wchar.h: Don't declare __*_l names. + * include/wchar.h: Declare them here instead. + * wctype/wctype.h: Declare iswalnum_l, not __iswalnum_l. + Don't declare __*_l names. + * include/wctype.h: Declare them here instead. + * stdlib/monetary.h: Declare strfmon_l, not __strfmon_l. + * stdlib/strfmon_l.c (strfmon_l): Define as weak alias. + * locale/langinfo.h: Don't declare __nl_langinfo_l. + * include/langinfo.h: Declare it here with __typeof. + + * time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strptime_l + instead, taking an extra __locale_t argument. + * time/Makefile (routines): Add strptime_l. + * time/time.h (__strptime_l, strptime_l): Declare them. + * time/strptime_l.c: New file. + + * time/time.h (__strftime_l, strftime_l): Declare them. + * wcsmbs/wchar.h (__wcsftime_l, wcsftime_l): Declare them. + * time/strftime_l.c: New file. + * time/wcsftime_l.c: New file. + * time/Makefile (routines): Add strftime_l, wcsftime_l. + * time/Versions (libc: GLIBC_2.3): Add __strftime_l, __wcsftime_l, + strftime_l, wcsftime_l. + * time/strftime.c [USE_IN_EXTENDED_LOCALE_MODEL]: Define __strftime_l + or __wcsftime_l instead, taking an extra __locale_t argument. + + * locale/Versions (libc: GLIBC_PRIVATE): Move __uselocale to ... + (libc: GLIBC_2.3): ... here. + +2002-08-27 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/Makefile: Fix typo in stdio_lim.h installation rule. + + * Makefile (distribute): Add LICENSES. + + * sysdeps/unix/sysv/linux/x86_64/Dist: Add ucontext_i.h and + sys/debugreg.h. + + * sysdeps/unix/sysv/linux/s390/Dist: Add new/route.h. + + * sysdeps/unix/sysv/linux/ia64/Dist: Add dl-brk.S and sys/user.h. + + * sysdeps/unix/sysv/linux/mips/Dist: Add sys/user.h. + + * sysdeps/unix/sysv/linux/Dist: Add readahead.c. + + * sysdeps/mach/hurd/alpha/Dist: New file. + + * sysdeps/arm/Dist: Add bits/link.h. + + * sunrpc/Makefile: Distribute thrsvc. + + * stdio-common/Makefile: Remove more left-overs from old stdio. + + * include/linewrap.h: Removed. + + * libio/bug-mmap-fflush.c: Rewrite to not touch source directory. + + * intl/Makefile (distribute): Add plural-eval.c. + +2002-08-27 Roland McGrath <roland@redhat.com> + + * manual/sysinfo.texi (Mount Information): Correct file name to macro + assocations for _PATH_MNTTAB, MNTTAB, _PATH_MOUNTED, MOUNTED. + Say mtab is in either /var/run or /etc. + +2002-08-26 Roland McGrath <roland@redhat.com> + + * manual/errno.texi (Error Codes): Added ECANCELED (118 for Hurd). + * sysdeps/mach/hurd/bits/errno.h: Regenerated. + + * sysdeps/gnu/Versions: New file. + * sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove + _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here. + * sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target. + ($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c. + * sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal + and _sys_nerr_internal instead of anything else. Make it include + "errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT]. + Make it emit some asm magic if [EMIT_ERR_MAX]. + * sysdeps/gnu/errlist.c: Regenerated. + * sysdeps/gnu/errlist-compat.awk: New file. + * sysdeps/gnu/errlist-compat.c: New file (generated). + * sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro. + (_sys_errlist_internal): Define this as a macro for _hurd_errlist. + (_sys_nerr_internal): Define this is a macro for _hurd_nerr. + (SYS_ERRLIST, SYS_NERR): Macros removed. + (sys_nerr, _sys_nerr): Remove these weak aliases. + * sysdeps/unix/sysv/linux/errlist.c: File removed. + * sysdeps/unix/sysv/linux/errlist.h: File removed. + * sysdeps/unix/sysv/linux/arm/errlist.c: File removed. + + * include/libc-symbols.h (declare_symbol): New macro. + * config.h.in (ASM_TYPE_DIRECTIVE_PREFIX): New #undef. + * configure.in: New check to define it. + * configure: Regenerated. + +2002-08-27 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/Makefile (headers): Remove bits/stdio_lim.h. This + file isn't distributed. Add special rules to install bits/stdio_lim.h. + + * Make-dist: Remove traces of old stdio. + * Makeconfig: Likewise. + + * locale/Makefile (localedef-aux): New variable. Only md5 + assigned to it. These files are not ddistributed in this directory. + + * sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h. + * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h. + * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. + + * sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h. + + * nss/getXXbyYY_r.c (REENTRANT_NAME): If no service is available + set h_errno to NO_RECOVERY [PR libc/4360]. + +2002-08-26 Ulrich Drepper <drepper@redhat.com> + + * libio/Makefile (tests): Add bug-fopena+. + * libio/bug-fopena+.c: New file. + * libio/fileops.c (_IO_file_open): Only set file pointer to end of the + file for _IO_IS_APPENDING if file isn't opened for reading, too. + + * stdio-common/tst-swprintf.c (main): Add casts to avoid warnings. + + * locale/xlocale.c: Fix the last change. The variable still has + to end in _data. + * sysdeps/generic/bits/libc-tsd.h [!(USE_TLS && HAVE___THREAD)] + (__libc_tsd_set): Add _data prefix to variable name. + +2002-08-26 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask): Replace + macro with inline function. + (sigset_get_old_mask): Likewise. + * sysdeps/posix/sigblock.c (__sigblock): Update callers. + * sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise. + * sysdeps/posix/sigpause.c (__sigpause): Likewise. + * sysdeps/posix/sigvec.c (__sigvec, sigvec_wrapper_handler): Likewise. + * sysdeps/unix/sysv/aix/sigset-cvt-mask.h + (sigset_set_old_mask, sigset_get_old_mask): Make these macros return + values. + * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: Likewise. + * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: Likewise. + +2002-07-06 Bruno Haible <bruno@clisp.org> + + * sysdeps/generic/sigset-cvt-mask.h (sigset_set_old_mask, + sigset_get_old_mask): Make it work with larger sigset_t. + * sysdeps/posix/sigblock.c (__sigblock): Use those macros. + * sysdeps/posix/sigsetmask.c (__sigsetmask): Likewise. + * sysdeps/posix/sigpause.c (__sigpause): Likewise. + +2002-08-26 Roland McGrath <roland@redhat.com> + + * time/sys/time.h [__USE_BSD] (lutimes, futimes): Declare them. + * manual/filesys.texi (File Times): Document lutimes and futimes. + * misc/Makefile (routines): Add them. + * misc/Versions (libc: GLIBC_2.3): Likewise. + * sysdeps/generic/lutimes.c: New file. + * sysdeps/generic/futimes.c: New file. + * sysdeps/mach/hurd/lutimes.c: New file. + * sysdeps/mach/hurd/futimes.c: New file. + + * manual/filesys.texi (File Times): Add explicit note about null + pointer argument to utimes. + +2002-08-26 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/ifreq.h (__if_freereq): Add missing semicolon. + (__ifreq): Add a cast. Remove an unused variable. + + * hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add + _HURD_THREADVAR_LOCALE. + +2002-08-26 Jakub Jelinek <jakub@redhat.com> + + * posix/regexec.c (re_search_stub): Return correct match length + if start != 0. + * posix/bug-regex10.c: New test. + * posix/Makefile (tests): Add bug-regex10. + +2002-08-26 Brian Youmans <3diff@gnu.org> + + * COPYING.LIB: Replaced with fresh copy from + ftp://ftp.gnu.org/gnu/Licenses/COPYING.LIB-2.1; + suggested copying permission notice now says version 2.1 instead + of version 2. + + * crypt/crypt.c: Changed copying permission notice to Lesser GPL + from Library GPL. + * crypt/crypt_util.c: Likewise. + * crypt/ufc.c: Likewise. + * elf/dl-conflict.c: Likewise. + * elf/dl-iteratephdr.c: Likewise. + * iconv/iconvconfig.h: Likewise. + * malloc/arena.c: Likewise. + * malloc/hooks.c: Likewise. + * malloc/malloc.c: Likewise. + * posix/glob/Makefile.ami: Likewise. + * posix/glob/Makefile.in: Likewise. + * stdlib/gmp-impl.h: Likewise. + * stdlib/gmp.h: Likewise. + * sysdeps/generic/dl-iteratephdr-static.c: Likewise. + * sysdeps/generic/strnlen.c: Likewise. + * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise. + * sysdeps/mach/hurd/recvmsg.c: Likewise. + * sysdeps/mach/hurd/sendmsg.c: Likewise. + * sysdeps/mach/hurd/spawni.c: Likewise. + * sysdeps/mach/powerpc/machine-sp.h: Likewise. + * sysdeps/mach/powerpc/sysdep.h: Likewise. + * sysdeps/mach/powerpc/thread_state.h: Likewise. + * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/dl-iteratephdr-static.c: Likewise. + * sysdeps/x86_64/gmp-mparam.h: Likewise. + + * sysdeps/ieee754/dbl-64/MathLib.h: Corrected version number in + Lesser GPL copying permission notice from 2 to 2.1. + * sysdeps/ieee754/dbl-64/asincos.tbl: Likewise. + * sysdeps/ieee754/dbl-64/atnat.h: Likewise. + * sysdeps/ieee754/dbl-64/atnat2.h: Likewise. + * sysdeps/ieee754/dbl-64/branred.c: Likewise. + * sysdeps/ieee754/dbl-64/branred.h: Likewise. + * sysdeps/ieee754/dbl-64/dla.h: Likewise. + * sysdeps/ieee754/dbl-64/doasin.c: Likewise. + * sysdeps/ieee754/dbl-64/doasin.h: Likewise. + * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. + * sysdeps/ieee754/dbl-64/dosincos.h: Likewise. + * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. + * sysdeps/ieee754/dbl-64/e_log.c: Likewise. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. + * sysdeps/ieee754/dbl-64/mpa.c: Likewise. + * sysdeps/ieee754/dbl-64/mpa.h: Likewise. + * sysdeps/ieee754/dbl-64/mpa2.h: Likewise. + * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. + * sysdeps/ieee754/dbl-64/mpatan.h: Likewise. + * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. + * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. + * sysdeps/ieee754/dbl-64/mpexp.h: Likewise. + * sysdeps/ieee754/dbl-64/mplog.c: Likewise. + * sysdeps/ieee754/dbl-64/mplog.h: Likewise. + * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise. + * sysdeps/ieee754/dbl-64/mptan.c: Likewise. + * sysdeps/ieee754/dbl-64/mydefs.h: Likewise. + * sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise. + * sysdeps/ieee754/dbl-64/root.tbl: Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. + * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. + * sysdeps/ieee754/dbl-64/sincos.tbl: Likewise. + * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. + * sysdeps/ieee754/dbl-64/sincos32.h: Likewise. + * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. + * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. + * sysdeps/ieee754/dbl-64/uasncs.h: Likewise. + * sysdeps/ieee754/dbl-64/uatan.tbl: Likewise. + * sysdeps/ieee754/dbl-64/uexp.h: Likewise. + * sysdeps/ieee754/dbl-64/uexp.tbl: Likewise. + * sysdeps/ieee754/dbl-64/ulog.h: Likewise. + * sysdeps/ieee754/dbl-64/ulog.tbl: Likewise. + * sysdeps/ieee754/dbl-64/upow.h: Likewise. + * sysdeps/ieee754/dbl-64/upow.tbl: Likewise. + * sysdeps/ieee754/dbl-64/urem.h: Likewise. + * sysdeps/ieee754/dbl-64/uroot.h: Likewise. + * sysdeps/ieee754/dbl-64/usncs.h: Likewise. + * sysdeps/ieee754/dbl-64/utan.h: Likewise. + * sysdeps/ieee754/dbl-64/utan.tbl: Likewise. + + * sysdeps/ieee754/flt-32/e_asinf.c: Added copyright notice for Stephen + Moshier and Lesser GPL copying permission notice, per license from + Moshier. + * sysdeps/ieee754/ldbl-128/e_acosl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_coshl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_powl.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_sinhl.c: Likewise. + * sysdeps/ieee754/ldbl-128/k_tanl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_asinl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_jnl.c: Likewise. + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_erfl.c: Likewise. + + * sysdeps/ieee754/ldbl-128/e_j0l.c: Added Lesser GPL copying permission + notice, per license from copyright holder Stephen Moshier. + * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_log2l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_logl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_atanl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_cbrtl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise. + +2002-08-26 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/sh/Makefile (sysdeps_routines): Add divdi3 in csu dir. + (shared-only-routines): Likewise. + +2002-08-26 Roland McGrath <roland@redhat.com> + + * locale/programs/ld-ctype.c (ctype_read): When given a repertoire + name of "", store a null pointer instead. + + * configure.in (elf): Set to yes for freebsd*, netbsd*. + * configure: Regenerated. + + * locale/xlocale.c [! (USE_TLS && HAVE___THREAD)] (__libc_tsd_LOCALE): + Initialize this instead of __libc_tsd_LOCALE_data. + + * sysdeps/unix/grantpt.c (pts_name): Convert ENOTTY return from + ptsname_r to EINVAL. + + * sysdeps/generic/ptsname.c (__ptsname_r): Return ENOSYS instead of 0. + + * rt/Makefile: Revert last change, it was inappropriate to presume aio + implementations depend on pthreads. + * rt/tst-aio.c (do_test): Exit happy if first failure is ENOSYS. + * rt/tst-aio64.c (do_test): Likewise. + * rt/tst-aio2.c (do_test): Likewise. + * rt/tst-aio3.c (do_test): Likewise. + * rt/tst-aio4.c (do_test): Likewise. + * rt/tst-aio5.c (do_test): Likewise. + * rt/tst-aio6.c (do_test): Likewise. + * rt/tst-aio7.c (do_test): Likewise. + + * sysdeps/generic/bits/libc-lock.h (__libc_setspecific): Use a cast to + void so as to avoid compiler warnings. + + * libio/oldstdfiles.c [! _IO_MTSAFE_IO] (DEF_STDFILE): Don't define + _IO_wide_data_FD, which is never used here. + + * libio/iofread.c + [! _IO_MTSAFE_IO] (fread_unlocked): Add libc_hidden_ver defn. + * libio/iofputs.c [! _IO_MTSAFE_IO] (fputs_unlocked): Likewise. + * libio/iofgets.c [! _IO_MTSAFE_IO] (fgets_unlocked): Likewise. + + * include/resolv.h [! _LIBC_REENTRANT] (_res): #undef it before decl. + * include/netdb.h [! _LIBC_REENTRANT] (h_errno): Declare normal extern. + + * misc/syslog.c (openlog): Conditionalize locking on [_LIBC_REENTRANT]. + (closelog): Likewise. + +2002-07-06 Bruno Haible <bruno@clisp.org> + + * sysdeps/alpha/fpu/fpu_control.h: Comment fix. + + * sysdeps/unix/sysv/linux/alpha/pipe.S: Moved to ... + * sysdeps/unix/alpha/pipe.S: ... here. + * sysdeps/unix/bsd/osf/alpha/pipe.S: File removed. + + * sysdeps/unix/i386/brk.S: Rename local label to '.Lhere' in ELF. + + * sysdeps/unix/i386/brk.S: Add PSEUDO_END invocation. + * sysdeps/unix/i386/fork.S: Likewise. + * sysdeps/unix/i386/pipe.S: Likewise. + * sysdeps/unix/i386/wait.S: Likewise. + + * sysdeps/unix/fork.S: Fix PSEUDO_END argument. + * sysdeps/unix/arm/fork.S: Likewise. + + * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + * sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + * sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL + arguments. + (DO_CALL): Swap argument order. + + * sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error. + (L): Define right for ELF. + * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition. + Now defined in sysdeps/i386/sysdep.h. + + * sysdeps/posix/readv.c: Ansify function definition. + * sysdeps/posix/writev.c: Likewise. + + * stdio-common/tst-fseek.c (main): Don't assume that off_t and size_t + have the same size. Avoid direct cast from size_t to off_t. + + * login/tst-utmp.c (simulate_login): Don't leave garbage after the + nul byte in entry[n].ut_user. + (simulate_logout): Likewise. + + * login/programs/utmpdump.c (print_entry): Test _HAVE_UT_TYPE, + _HAVE_UT_PID, _HAVE_UT_ID, _HAVE_UT_HOST, instead of assuming the + existence of corresponding members of 'struct utmp'. + * login/tst-utmp.c: Trivialize the test if testing 'struct utmp' and + !_HAVE_UT_TYPE. + + * sysdeps/unix/opendir.c (__opendir): If st_blksize is 0 or too small, + allocate a buffer of at least BUFSIZ bytes, not just of + sizeof (struct dirent). + + * sysdeps/generic/glob.c: Include <limits.h>. + (NAME_MAX): Define a fallback. + (glob_in_dir): Allocate enough room for a 'struct dirent64' on the + stack. + * posix/tst-dir.c: Include <stddef.h>, for offsetof. + (main): Allocate enough room for a 'struct dirent64' on the stack. + * posix/tst-gnuglob.c (my_DIR): Allocate enough room for a + 'struct dirent'. + + * sysdeps/unix/sysv/linux/init-first.c: Don't include + kernel-features.h. + + * inet/htontest.c: Include <sys/types.h>. + + * sysdeps/generic/sys/sysinfo.h: Surround with __{BEGIN,END}_DECLS. + + * include/sys/sysctl.h: Comment fix. + + * elf/rtld.c (_rtld_global) [! _LIBC_REENTRANT]: Don't initialize + _dl_load_lock. + * libio/fileno.c (fileno_unlocked): Define regardless of _IO_MTSAFE_IO. + + * sysdeps/unix/bsd/bsd4.4/syscalls.list (__sigaltstack): New alias. + + * sysdeps/unix/inet/syscalls.list (__connect_internal): New alias. + (__getpeername): New alias. + (__getsockname): New alias. + (__socket): New alias. + + * sysdeps/unix/common/syscalls.list (getpgid): Remove. + + * sysdeps/unix/syscalls.list (__chown_internal): New alias. + (__fcntl_internal): New alias. + (__profil): New alias. + +2002-08-26 Ulrich Drepper <drepper@redhat.com> + + * nscd/hstcache.c (cache_addhst): Add new parameter saying whether + entry was for getaddr* lookup or not. Add only matching cache + entry. Change all callers [PR libc/4317]. + + * libio/wfileops.c (_IO_wfile_seekoff): Set fp->_offset after + finding the read position [PR libc/4265]. + * libio/Makefile (tests): Add bug-rewind2. + * libio/bug-rewind2.c: New file. + + * libio/bug-rewind.c: Fix creation of temp file. + +2002-08-25 Ulrich Drepper <drepper@redhat.com> + + * nss/getXXbyYY_r.c (REENTRANT_NAME): Return ENOENT if status is + neither SUCCESS nor TRYAGAIN [PR libc/4259]. + * nss/nss_files/files-XXX.c (internal_getent): Don't set *errnop + to ENOENT if no entry is found. + * nis/nss_compat/compat-grp.c: Don't set errno in case of lookup + failure. + * nis/nss_compat/compat-initgroups.c: Likewise. + * nis/nss_compat/compat-pwd.c: Likewise. + * nis/nss_compat/compat-spwd.c: Likewise. + * nis/nss_nis/nis-alias.c: Likewise. + * nis/nss_nis/nis-ethers.c: Likewise. + * nis/nss_nis/nis-grp.c: Likewise. + * nis/nss_nis/nis-hosts.c: Likewise. + * nis/nss_nis/nis-initgroups.c: Likewise. + * nis/nss_nis/nis-netgrp.c: Likewise. + * nis/nss_nis/nis-network.c: Likewise. + * nis/nss_nis/nis-proto.c: Likewise. + * nis/nss_nis/nis-publickey.c: Likewise. + * nis/nss_nis/nis-pwd.c: Likewise. + * nis/nss_nis/nis-rpc.c: Likewise. + * nis/nss_nis/nis-service.c: Likewise. + * nis/nss_nis/nis-spwd.c: Likewise. + * resolv/nss_dns/dns-host.c: Likewise. + * resolv/nss_dns/dns-network.c: Likewise. + * nis/nss_nisplus/nisplus-alias.c: Save errno around NIS calls. + * nis/nss_nisplus/nisplus-ethers.c: Likewise. + * nis/nss_nisplus/nisplus-grp.c: Likewise. + * nis/nss_nisplus/nisplus-hosts.c: Likewise. + * nis/nss_nisplus/nisplus-network.c: Likewise. + * nis/nss_nisplus/nisplus-proto.c: Likewise. + * nis/nss_nisplus/nisplus-pwd.c: Likewise. + * nis/nss_nisplus/nisplus-rpc.c: Likewise. + * nis/nss_nisplus/nisplus-service.c: Likewise. + * nis/nss_nisplus/nisplus-spwd.c: Likewise. + * hesiod/nss_hesiod/hesiod-pwd.c (lookup): Preserve errno value. + * hesiod/nss_hesiod/hesiod-proto.c (lookup): Likewise. + * hesiod/nss_hesiod/hesiod-grp.c (lookup): Likewise. + * hesiod/nss_hesiod/hesiod-service.c (lookup): Likewise. + + * sysdeps/unix/sysv/linux/i386/sigaction.c: Avoid warnings by + declaring __restore and __restore_rt as hidden (if possible). + +2002-08-25 Roland McGrath <roland@redhat.com> + + * manual/llio.texi (Access Modes): Fix typos in O_READ/O_WRITE defns. + + * sysdeps/generic/utmp_file.c (LOCK_FILE): Check for error from fcntl. + (getutent_r_file, internal_getut_r): Updated all callers. + (getutline_r_file, pututline_file, updwtmp_file): Likewise. + +2002-08-25 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/locale.c: Don't print aliases for non-existing + locales for 'locale -a'. + Patch by Noah Levitt <nlevitt@columbia.edu> [PR libc/4166]. + +2002-07-19 H.J. Lu <hjl@gnu.org> + + * sysdeps/unix/sysv/linux/mips/bits/msq.h: New file. + +2002-07-16 H.J. Lu <hjl@gnu.org> + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add + sys/personality.h. + * sysdeps/unix/sysv/linux/sys/personality.h: New file. + +2002-08-25 Ulrich Drepper <drepper@redhat.com> + + * elf/tst-tlsmod1.c (in_dso): Make sure the TLS variable access is + not moved ahead of the fputs call. + * elf/tst-tlsmod2.c (in_dso): Likewise. + * elf/tst-tlsmod3.c (in_dso2): Likewise. + * elf/tst-tlsmod4.c (in_dso): Likewise. + +2002-08-25 Andreas Schwab <schwab@suse.de> + + * elf/dl-reloc.c (_dl_reloc_bad_type): Nul-terminate message. + +2002-08-25 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/utmp_file.c (UNLOCK_FILE): Clear alarm before + resetting handler, to avoid the possibility of a spurious SIGALRM + delivered to the user's handler. + Reported by Amit D. Chaudhary <amitc@brocade.com>, + + * misc/Makefile (CFLAGS-init-misc.c): Variable removed. It served to + set -fkeep-inline-functions, which is not needed for the current file. + + * sysdeps/generic/ldsodefs.h: Add attribute_hidden to *_internal decls. + (_dl_setup_hash): Add attribute_hidden. + (_dl_sysdep_start, _dl_sysdep_start_cleanup): Likewise. + (_dl_sysdep_read_whole_file, _dl_dprintf): Likewise. + (_dl_new_object, _dl_map_object_deps): Likewise. + (_dl_map_object_deps_internal): Remove decl. + * elf/rtld.c (__mempcpy, _exit): Redeclare locally as hidden. + + * sysdeps/i386/dl-machine.h [PI_STATIC_AND_HIDDEN + && HAVE_VISIBILITY_ATTRIBUTE && HAVE_HIDDEN + && !HAVE_BROKEN_VISIBILITY_ATTRIBUTE] + (elf_machine_dynamic, elf_machine_load_address): Rewritten without asm, + instead relying on the compiler to produce only GOTOFF variable refs. + +2002-08-25 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c: Fix typo in comment. Add a few more __builtin_expect. + + * sysdeps/generic/dl-cache.h (_dl_cache_libcmp): Define as static + inline to avoid defining it in every file which includes this header. + + * elf/rtld.c: Also test for HAVE_VISIBILITY_ATTRIBUTE before + defining DONT_USE_BOOTSTRAP_MAP. + + * libio/tst-freopen.c (main): Use correct formats for __LINE__. + * libio/tst-mmap-setvbuf.c (main): Likewise. + * libio/tst-widetext.c (main): Likewise. + + * libio/tst-mmap-eofsync.c (do_test): Use correct format in error + message. + * libio/tst-mmap-fflushsync.c (do_test): Likewise. + * libio/tst-mmap2-eofsync.c (do_test): Likewise. + + * sysdeps/i386/elf/configure.in: Unconditionally define + PI_STATIC_AND_HIDDEN. + * elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if + PI_STATIC_AND_HIDDEN is defined as well. + * config.h.in: Add PI_STATIC_AND_HIDDEN entry. + +2002-08-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ia64/bzero.S: Define __bzero as well. + + * locale/programs/charmap.c (charmap_new_char): Don't use + ULONG_MAX as maximum UCS4 value. + + * sysdeps/unix/sysv/linux/ia64/sys/user.h: New file. + + * sysdeps/generic/strtol.c: We don't need the isascii test in glibc. + + * malloc/hooks.c (public_sET_STATe): use size_t as type for i. + * malloc/malloc.c (mALLINFo): Likewise. + + * libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison. + + * libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when + examining result of _IO_do_flush call. + + * stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg. + Use prec not spec when sizing buffers. + + * catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings. + * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. + * locale/loadlocale.c (_nl_intern_locale_data): Likewise. + * stdio-common/vfscanf.c (inchar): Likewise. + * misc/efgcvt_r.c (fcvt_r): Likewise. + * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. + * elf/readlib.c (process_file): Likewise. + * elf/sprof.c (load_profdata): Likewise. + * sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise. + * locale/programs/linereader.c (get_toplvl_escape): Likewise. + * locale/programs/charmap.c (charmap_read): Likewise. + * libio/fileops.c: Likewise. + * libio/fmemopen.c: Likewise. + * stdlib/strtod.c: Likewise. + * elf/dl-load.c: Likewise. + * iconv/iconvconfig.c: Likewise. + * iconv/iconv_prog.c (process_block): Likewise. + * elf/rtld.c (dl_main): Likewise. + + * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H + macro to calm down the compiler. + + * iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning. + + * sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string. + + * sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding + placement of errno definition. + * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. + + * resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value + from 1024 to 65536, to avoid buffer overrun. + +2002-08-16 Paul Eggert <eggert@twinsun.com> + + * resolv/gethnamaddr.c (MAXPACKET): Increase minimum value + from 1024 to 65536, to avoid buffer overrun. + * resolv/res_query.c (MAXPACKET): Likewise. + +2002-08-24 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/i386/Versions: Remove *xattr syscalls. + +2002-08-23 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ieee754/dbl-64/e_pow.c (log1): Define and initialize + two52 locally. + (log2): Likewise. + * sysdeps/ieee754/dbl-64/upow.h: Remove definition of two52. + Patch by Simon Gee <simong@agile.tv>. + + * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): + Prefer reading /proc/stat since it is more uniform across + architectures. + + * manual/texinfo.tex: Update to latest official version. + + * sysvipc/sys/shm.h: Remove SHMLBA definition. + * sysdeps/generic/bits/shm.h: Define SHMLBA here. + * sysdeps/gnu/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/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/sparc/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/shm.h: Define SHMLBA to 2^20 + since this is what the kernel says. + + * misc/sys/xattr.h: Include <sys/types.h> instead of <stddef.h> + since ssize_t is needed as well. Replace const with __const. + +2002-08-23 Roland McGrath <roland@redhat.com> + + * malloc/hooks.c (__malloc_initialize_hook, __free_hook, + __malloc_hook, __realloc_hook, __memalign_hook, + __after_morecore_hook): Variable definitions moved to ... + * malloc/malloc.c: ... here, so as to be before all references. + + * sysdeps/i386/dl-machine.h (elf_machine_load_address): Add a dummy + global variable reference in an unused asm parameter, to ensure the + compiler has set up the GOT register before we use it. + + * malloc/hooks.c: Move variable definitions ahead of uses. + * libio/fileops.c: Move versioned_symbol defns ahead of _IO_jump_t + initializers that make reference to variables they define. + +2002-08-23 Andreas Jaeger <aj@suse.de> + + * locale/loadarchive.c: Include <stdlib.h> for prototypes of + alloca, free, qsort. + + * dlfcn/bug-dlsym1-lib1.c (foo): Add prototype to avoid warning. + + * sysdeps/ieee754/flt-32/e_jnf.c: Remove unused variable. + * sysdeps/ieee754/ldbl-96/e_j0l.c: Likewise. + + * misc/sys/xattr.h: New file, contributed by Christoph Hellwig + <hch@lst.de>. + * sysdeps/generic/fgetxattr.c: New file. + * sysdeps/generic/flistxattr.c: New file. + * sysdeps/generic/fremovexattr.c: New file. + * sysdeps/generic/fsetxattr.c: New file. + * sysdeps/generic/getxattr.c: New file. + * sysdeps/generic/listxattr.c: New file. + * sysdeps/generic/lgetxattr.c: New file. + * sysdeps/generic/llistxattr.c: New file. + * sysdeps/generic/lremovexattr.c: New file. + * sysdeps/generic/lsetxattr.c: New file. + * sysdeps/generic/removexattr.c: New file. + * sysdeps/generic/setxattr.c: New file. + * misc/Makefile (headers): Add sys/xattr.h. + (routines): Add *xattr calls. + * misc/Versions: Add *xattr calls with version 2.3. + * sysdeps/unix/sysv/linux/m68k/Versions: Remove *xattr syscalls. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. + * sysdeps/unix/sysv/linux/x86_64/Versions: Likewise. + * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. + * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. + * sysdeps/unix/sysv/linux/arm/Versions: Likewise. + +2002-08-22 Steven Munroe <sjmunroe@us.ibm.com> + + * sysdeps/powerpc/elf/libc-start.c + (__cache_line_size): Declare. + (__aux_init_cache): New function. + (__libc_start_main): Change type of `auxvec' parameter to + `ElfW(auxv_t) *'. Correct walking of aux vector. Call + __aux_init_cache. + * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c + (__cache_line_size): Declare. + (__aux_init_cache): New function. + (DL_PLATFORM_INIT): Define. + * sysdeps/powerpc/memset.S: Define __cache_line_size and use its + value to select the correct stride for dcbz. + +2002-08-22 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments of + shmat. + +2002-08-22 Roland McGrath <roland@redhat.com> + + * locale/loadarchive.c (_nl_load_locale_from_archive): Check max file + position indicated by locrectab against file bounds before rounding to + page size. In mapping loop, always set TO before breaking out of + contiguous range coalescing loop. + + * locale/loadarchive.c (_nl_load_locale_from_archive): Use MAP_PRIVATE + (or MAP_COPY if available) instead of MAP_SHARED. + + * scripts/firstversions.awk: When encountering a version newer than + the specified earliest version, be sure to emit the specified earliest + version first if any renaming of an older version to that has been. + +2002-08-21 Roland McGrath <roland@redhat.com> + + * configure.in: Make GCC version check require 3.[2-9]* and no others. + * manual/install.texi (Tools for Compilation): Say 3.2 is required. + (Configuring and compiling): Don't mention older GCC versions any more. + * INSTALL: Regenerated. + + * manual/install.texi (Configuring and compiling, Installation, + Running make install, Linux): Linux -> GNU/Linux where appropriate. + + * elf/rtld.c (_dl_start_final): Move defn before _dl_start so it can + be inlined. Declare it with always_inline if [DONT_USE_BOOTSTRAP_MAP] + and with noinline otherwise. Remove hack alloca use to prevent + inlining, we can ask for it explicitly nowadays. + + * dlfcn/bug-dlsym1.c: New file. + * dlfcn/bug-dlsym1-lib1.c, dlfcn/bug-dlsym1-lib2.c: New files. + * dlfcn/Makefile (distribute): Add them. + (tests): Add bug-dlsym1 here. + (modules-names): Add bug-dlsym1-lib1 and bug-dlsym1-lib2 here. + ($(objpfx)bug-dlsym1, $(objpfx)bug-dlsym1.out): New targets. + ($(objpfx)bug-dlsym1-lib1.so, $(objpfx)bug-dlsym1-lib2.so): Likewise. + +2002-08-21 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (start_time): New global variable. Moved from _dl_start. + (DONT_USE_BOOTSTRAP_MAP): Define if we can use non-exported symbols + before relocation. + (_dl_start): Don't use local bootstrap_map variable if + DONT_USE_BOOTSTRAP_MAP is defined. Use GL(dl_rtld_map). Don't + pass bootstrap_map to _dl_start_final in this case either. Don't + pass start_time to _dl_start_final ever. + (_dl_start_final): Don't copy bootstrap_map if DONT_USE_BOOTSTRAP_MAP. + + * elf/dl-deps.c (_dl_map_object_deps): Revert patch from 2002-05-28. + This cripples the scope lists necessary to search for symbols in + dependencies which are not in the global scope. + + * include/setjmp.h (__libc_longjmp): Add declaration. + +2002-08-21 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/_mcount.S: Fix assembler. + + * sysdeps/unix/sysv/linux/x86_64/Makefile: Generate bits/syscall.h + with biarch support. + +2002-08-21 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/sysdep.h (CALL_MCOUNT): Fix it. + + * sysdeps/x86_64/Makefile (sysdep_routines): Add _mcount. + + * sysdeps/x86_64/machine-gmon.h: New file. + * sysdeps/x86_64/_mcount.S: New file. + +2002-08-20 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (_dl_start): Pass zero to TLS_INIT_TP. Set + bootstrap_map.l_tls_tp_initialized to 1 if TLS_INIT_TP was called. + (_dl_start_final): Copy l_tls_tp_initialized to GL(dl_rtld_map). + (dl_main): If HAVE___THREAD is not defined pass l_tls_tp_initialized + to TL_INIT_TP. Otherwise pass 1. + * include/link.h (struct link_map): Add l_tls_tp_initialized. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass 0 to TL_INIT_TP. + +2002-08-15 Jakub Jelinek <jakub@redhat.com> + + * locale/programs/localedef.c (add_to_readlist): Error about + circular dependencies only if the locale in question hasn't + been finished. + * locale/programs/linereader.c (get_string): Pass LC_CTYPE not + CTYPE_LOCALE to load_locale. + * locale/programs/locfile.c (locfile_read): Don't include + unneeded but available locales in locale_mask. + + * locale/programs/locarchive.c (enlarge_archive): If quiet, don't + print any messages about enlarging archive. + +2002-08-20 Brian Youmans <3diff@gnu.org> + + * manual/contrib.texi: Removed licenses, added acknowledgements + for contributions by Intel, IBM, Craig Metz. + * LICENSES: New file, contains the text of all non-FSF licenses in the + distribution that require putting the notice in the accompanying + documentation. + * README.template, README: Mention LICENSES. + + * sysdeps/mach/hurd/net/if_ppp.h: Replaced CMU license with a + new one modelled on the modern BSD license, per recent letter + of permission from CMU. + * sysdeps/unix/sysv/linux/net/if_ppp.h: Likewise. + + * sysdeps/ieee754/dbl-64/MathLib.h: Changed the copyright holder + from IBM to FSF, per the recent Software Letter. Changed the + distribution terms from GPL to LGPL. + + * sysdeps/ieee754/dbl-64/asincos.tbl: Added FSF copyright and + copying permission notice (Lesser GPL), per recent IBM Software Letter. + * sysdeps/ieee754/dbl-64/powtwo.tbl: Likewise. + * sysdeps/ieee754/dbl-64/root.tbl: Likewise. + * sysdeps/ieee754/dbl-64/sincos.tbl: Likewise. + * sysdeps/ieee754/dbl-64/uatan.tbl: Likewise. + * sysdeps/ieee754/dbl-64/uexp.tbl: Likewise. + * sysdeps/ieee754/dbl-64/ulog.tbl: Likewise. + * sysdeps/ieee754/dbl-64/upow.tbl: Likewise. + * sysdeps/ieee754/dbl-64/utan.tbl: Likewise. + + * sysdeps/ieee754/dbl-64/atnat.h: Changed the copyright holder + from IBM to FSF, per the recent Software Letter. Corrected the + text of the copying permission notice to say Lesser GPL instead + of GPL in warranty disclaimer paragraph. + * sysdeps/ieee754/dbl-64/atnat2.h: Likewise. + * sysdeps/ieee754/dbl-64/branred.h: Likewise. + * sysdeps/ieee754/dbl-64/dla.h: Likewise. + * sysdeps/ieee754/dbl-64/doasin.h: Likewise. + * sysdeps/ieee754/dbl-64/dosincos.h: Likewise. + * sysdeps/ieee754/dbl-64/mpa.h: Likewise. + * sysdeps/ieee754/dbl-64/mpa2.h: Likewise. + * sysdeps/ieee754/dbl-64/mpatan.h: Likewise. + * sysdeps/ieee754/dbl-64/mpexp.h: Likewise. + * sysdeps/ieee754/dbl-64/mplog.h: Likewise. + * sysdeps/ieee754/dbl-64/mpsqrt.h: Likewise. + * sysdeps/ieee754/dbl-64/mydefs.h: Likewise. + * sysdeps/ieee754/dbl-64/sincos32.h: Likewise. + * sysdeps/ieee754/dbl-64/uasncs.h: Likewise. + * sysdeps/ieee754/dbl-64/uexp.h: Likewise. + * sysdeps/ieee754/dbl-64/ulog.h: Likewise. + * sysdeps/ieee754/dbl-64/upow.h: Likewise. + * sysdeps/ieee754/dbl-64/urem.h: Likewise. + * sysdeps/ieee754/dbl-64/uroot.h: Likewise. + * sysdeps/ieee754/dbl-64/usncs.h: Likewise. + * sysdeps/ieee754/dbl-64/utan.h: Likewise. + + * sysdeps/ieee754/dbl-64/branred.c: Corrected the text of the copying + permission notice to say Lesser GPL instead of GPL in warranty + disclaimer paragraph. + * sysdeps/ieee754/dbl-64/doasin.c: Likewise. + * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. + * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. + * sysdeps/ieee754/dbl-64/e_log.c: Likewise. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. + * sysdeps/ieee754/dbl-64/mpa.c: Likewise. + * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. + * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. + * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. + * sysdeps/ieee754/dbl-64/mplog.c: Likewise. + * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/mptan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. + * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. + * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. + * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. + * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. + +2002-08-20 Roland McGrath <roland@redhat.com> + + Fix ABI compatibility with libc compiled with old tools on powerpc. + Changes contributed by Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + and Jack Howarth <howarth@bromo.med.uc.edu>. + * sysdeps/powerpc/Makefile [$(have-protected) = yes] + (CPPFLAGS-divdi3.c, CPPFLAGS-libgcc-compat.S): New variables, + pass -DHAVE_DOT_HIDDEN for these files. + * sysdeps/powerpc/Versions (libc: GLIBC_2.0): Added __floatdidf, + __floatdisf. + * sysdeps/powerpc/divdi3.c: New file. + * sysdeps/powerpc/libgcc-compat.S: New file, replacement for ... + * sysdeps/powerpc/libgcc-compat.c: ... this, file removed. + +2002-08-20 Jakub Jelinek <jakub@redhat.com> + + * locale/loadarchive.c (_nl_load_locale_from_archive): Handle + partially overlapping mappings. Remove unneeded (char *) casts. + Never allow duplication of ranges in mapped areas. + +2002-08-20 Roland McGrath <roland@redhat.com> + + * elf/Makefile ($(objpfx)ld.so): Separate commands in rule so errors + can be detected by make. Reported by H.J. Lu <hjl@gnu.org>. + +2002-08-20 Ulrich Drepper <drepper@redhat.com> + + * include/unistd.h: Don't hide _exit. + + * elf/rtld.c (_dl_start): Pass extra argument 1 to TLS_INIT_TP. + (dl_main): Pass extra argument 0 to TLS_INIT_TP. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Pass extra + argument 1 to TLS_INIT_TP. + * sysdeps/generic/tls.h (TLS_INIT_TP): Describe new parameter. + + * sysdeps/generic/dl-tls.c (allocate_dtv): Optimize a bit. + + * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_tls_static_info. + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Move dtv + memory allocation to... + (allocate_dtv): ...here. New function. + (_dl_allocate_tls): Change to take parameter. If parameter is non-NULL + call allocate_dtv instead of _dl_allocate_tls_storage. + (_dl_deallocate_tls): New parameter. Deallocate TCB only if true. + (_dl_get_tls_static_info): New function. + * sysdeps/generic/ldsodefs.h: Adjust prototypes of _dl_allocate_tls + and _dl_deallocate_tls. Add prototype for _dl_get_tls_static_info. + +2002-08-19 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Return + immediately if result == NULL. + +2002-08-16 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/fpu/libm-test-ulps: Regenerate. + +2002-08-18 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/mkdir.c (__mkdir): Use __directory_name_split + instead of __file_name_split. + * sysdeps/mach/hurd/unlink.c (__unlink): Likewise. + + * sysdeps/mach/hurd/dl-sysdep.c + [HP_TIMING_AVAIL] (_dl_cpuclock_offset): New variable. + [HP_TIMING_AVAIL] (_dl_sysdep_start): Set it with HP_TIMING_NOW. + +2002-08-16 Jakub Jelinek <jakub@redhat.com> + + * locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix + in change before last: MAX -> MIN. + +2002-08-15 Roland McGrath <roland@redhat.com> + + * libio/fileops.c (_IO_file_seekoff_mmap): Leave read pointers at EOF + if seek would go past it. + (mmap_remap_check): If file position is at or past EOF after check, + leave read pointers at EOF and don't seek. + + * libio/tst-mmap-offend.c: New file. + * libio/Makefile (tests): Add it. + + * locale/loadarchive.c (_nl_load_locale_from_archive): Store strdup of + the name as passed, rather than the name in the archive dictionary. + +2002-08-15 Ulrich Drepper <drepper@redhat.com> + + * csu/Makefile: Define elide-routines.os not static-only-routines. + + * include/sched.h (__clone): Add varargs at the end. + + * elf/rtld.c (_dl_start): Allow TLS_INIT_TP to fail, and stop in that + case. + (TLS_INIT_HELPER): If defined, use it. + * sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise. + +2002-08-15 Roland McGrath <roland@redhat.com> + + * elf/dl-load.c (lose): Remove [!SHARED] conditional from null check + on L->l_prev; it can happen under rtld --verify too. + + * locale/loadarchive.c (_nl_load_locale_from_archive): Don't read the + header separately, just map an initial window of 2MB from the file + and remap if that is not large enough to cover the whole header. + +2002-08-15 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/m68k/Versions: Add *xattr syscalls with + version 2.3. + * sysdeps/unix/sysv/linux/arm/Versions: Likewise. + * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. + * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. + * sysdeps/unix/sysv/linux/x86_64/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise. + * sysdeps/unix/sysv/linux/mips/Versions: Likewise. + Patch by Andreas Gruenbacher <agruen@suse.de>. + + * sysdeps/unix/sysv/linux/syscalls.list: Add *xattr syscalls. + +2002-08-14 Roland McGrath <roland@redhat.com> + + * locale/locarchive.h (struct locale_category_data): Give this name to + the type of locale_data_t's elements. + * locale/programs/locarchive.c (cmpcategorysize): New static function. + (add_locale): Use that to sort the categories by size and put all + those that fit into two pages into the LC_ALL block, instead of + hard-coding it to do everything but LC_CTYPE and LC_COLLATE. + (show_archive_content): Detect categories inside LC_ALL block + directly, instead of hard-coding. + (oldlocrecentcmp): Compare just on file locations used. + +2002-08-14 Jakub Jelinek <jakub@redhat.com> + + * locale/programs/locarchive.c (struct oldlocrecent): New type. + (oldlocrecentcmp): New function. + (enlarge_archive): Re-add locales in the order they were added + to the archive. + (add_locale): Put all the small locale files together, if the small + locale file block would occupy less pages if page size aligned, align + it. + (show_archive_content): Adjust for locale archives optimized for speed. + +2002-08-14 Roland McGrath <roland@frob.com> + + * configure.in: Use "MISSING" as not-found value for MIG. + * sysdeps/mach/configure.in: Fatal if mig not found. + * configure, sysdeps/mach/configure: Regenerated. + +2002-08-13 Jakub Jelinek <jakub@redhat.com> + + * locale/loadarchive.c (archfname): Add missing slash. + + * sysdeps/generic/strtold.c (__strtold_internal): Add libc_hidden_def. + * wcsmbs/wcstold.c (__wcstold_internal): Add libc_hidden_def. + +2002-08-12 Roland McGrath <roland@redhat.com> + + * include/sys/wait.h (__waitpid): Add libc_hidden_proto. + * sysdeps/unix/sysv/sco3.2.4/waitpid.S: Add libc_hidden_def. + * sysdeps/unix/sysv/sysv4/waitpid.c: Add libc_hidden_weak. + * sysdeps/unix/sysv/linux/waitpid.c: Likewise. + * sysdeps/unix/sysv/aix/waitpid.c: Likewise. + * sysdeps/unix/bsd/bsd4.4/waitpid.c: Likewise. + * sysdeps/generic/waitpid.c: Likewise. + + * include/net/if.h: New file. Use libc_hidden_proto + for if_nametoindex and if_indextoname. + * sysdeps/generic/if_index.c: Add libc_hidden_def. + * sysdeps/mach/hurd/if_index.c: Likewise. + * sysdeps/unix/sysv/linux/if_index.c: Likewise. + + * include/grp.h (setgroups): Add libc_hidden_proto. + * sysdeps/generic/setgroups.c: Add libc_hidden_def. + * sysdeps/mach/hurd/setgroups.c: Likewise. + * sysdeps/unix/sysv/irix4/setgroups.c: Likewise. + * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. + +2002-08-13 Jakub Jelinek <jakub@redhat.com> + + * include/unistd.h (seteuid, setegid): Add libc_hidden_proto. + * sysdeps/generic/seteuid.c (seteuid): Add libc_hidden_def. + * sysdeps/generic/setegid.c (setegid): Likewise. + * sysdeps/mach/hurd/seteuid.c (seteuid): Likewise. + * sysdeps/mach/hurd/setegid.c (setegid): Likewise. + * sysdeps/unix/bsd/seteuid.c (seteuid): Likewise. + * sysdeps/unix/bsd/setegid.c (setegid): Likewise. + * sysdeps/unix/sysv/aix/seteuid.c (seteuid): Likewise. + * sysdeps/unix/sysv/aix/setegid.c (setegid): Likewise. + * sysdeps/unix/sysv/linux/i386/setegid.c (setegid): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c (seteuid): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c (setegid): Likewise. + * sysdeps/unix/sysv/linux/seteuid.c (seteuid): Likewise. + * sysdeps/unix/sysv/linux/setegid.c (setegid): Likewise. + * sysdeps/unix/sysv/linux/i386/seteuid.c (seteuid): Likewise. + Remove fallback if __ASSUME_SETRESUID_SYSCALL. + + * include/sys/stat.h (__fxstat_internal, __fxstat64_internal, + __lxstat_internal, __lxstat64_internal): Remove. + (__fxstat, __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64): + Add hidden_proto. + * sysdeps/generic/fxstat.c (__fxstat): Add hidden_def. + Remove INTDEF where present, remove #undef at the beginning. + * sysdeps/generic/fxstat64.c (__fxstat64): Likewise. + * sysdeps/generic/lxstat.c (__lxstat): Likewise. + * sysdeps/generic/lxstat64.c (__lxstat64): Likewise. + * sysdeps/generic/xstat.c (__xstat): Likewise. + * sysdeps/generic/xstat64.c (__xstat64): Likewise. + * sysdeps/mach/hurd/dl-sysdep.c (__xstat64, __fxstat64): Likewise. + * sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise. + * sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise. + * sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise. + * sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise. + * sysdeps/mach/hurd/xstat.c (__xstat): Likewise. + * sysdeps/mach/hurd/xstat64.c (__xstat64): Likewise. + * sysdeps/unix/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/common/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/aix/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/aix/fxstat64.c (__fxstat64): Likewise. + * sysdeps/unix/sysv/aix/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/aix/lxstat64.c (__lxstat64): Likewise. + * sysdeps/unix/sysv/aix/xstat.c (__xstat): Likewise. + * sysdeps/unix/sysv/aix/xstat64.c (__xstat64): Likewise. + * sysdeps/unix/sysv/linux/ia64/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/linux/ia64/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/ia64/xstat.c (__xstat): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c (__xstat): Likewise. + * sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise. + * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise. + * sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise. + * sysdeps/unix/sysv/linux/fxstat.c (__fxstat): Likewise. + * sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): Likewise. + * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise. + * sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise. + * sysdeps/unix/xstat.c (__xstat): Likewise. + + * include/sys/statvfs.h (statvfs, fstatvfs): Add libc_hidden_proto. + * sysdeps/generic/statvfs.c (statvfs): Add libc_hidden_def. + * sysdeps/generic/fstatvfs.c (fstatvfs): Likewise. + * sysdeps/mach/hurd/statvfs.c (statvfs): Likewise. + * sysdeps/mach/hurd/fstatvfs.c (fstatvfs): Likewise. + * sysdeps/unix/sysv/linux/statvfs.c (statvfs): Likewise. + * sysdeps/unix/sysv/linux/fstatvfs.c (fstatvfs): Likewise. + + * include/unistd.h (tcgetpgrp): Add libc_hidden_proto. + * include/termios.h (tcsetattr, cfsetispeed, cfsetospeed): Likewise. + * sysdeps/generic/tcgetpgrp.c (tcgetpgrp): Add libc_hidden_def. + * sysdeps/generic/tcsetattr.c (tcsetattr): Likewise. + * sysdeps/generic/speed.c (cfsetispeed, cfsetospeed): Likewise. + * sysdeps/unix/bsd/bsd4.4/tcsetattr.c (tcgetpgrp): Likewise. + * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Likewise. + * sysdeps/unix/bsd/sun/sunos4/speed.c (cfsetispeed, cfsetospeed): + Likewise. + * sysdeps/unix/bsd/tcgetpgrp.c (tcgetpgrp): Likewise. + * sysdeps/unix/bsd/tcsetattr.c (tcsetattr): Likewise. + * sysdeps/unix/sysv/aix/tcsetattr.c (tcsetattr): Likewise. + * sysdeps/unix/sysv/aix/speed.c (cfsetispeed, cfsetospeed): Likewise. + * sysdeps/unix/sysv/linux/tcsetattr.c (tcsetattr): Likewise. + * sysdeps/unix/sysv/linux/speed.c (cfsetispeed, cfsetospeed): Likewise. + * sysdeps/unix/sysv/tcgetpgrp.c (tcgetpgrp): Likewise. + * sysdeps/unix/sysv/tcsetattr.c (tcsetattr): Likewise. + + * include/string.h (strcoll): Add libc_hidden_proto. + * string/strcoll.c (strcoll): Add libc_hidden_def. + + * misc/err.c (vwarn): Fix pasto in libc_hidden_def. + +2002-08-11 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/Makefile: New file. + +2002-08-08 Jakub Jelinek <jakub@redhat.com> + + * posix/regcomp.c (parse_reg_exp): If '|' is immediately followed + by another '|', end of regex or enclosing ')', clear branch. + * posix/bug-regex9.c: New test. + * posix/Makefile (tests): Add bug-regex9. + +2002-08-12 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Fix inner loop + start count condition, use TOTAL instead of variable that was never + set. Fix outer loop termination condition to TOTAL >= after update. + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Initialize + dl_tls_static_align and dl_tls_static_nelem. + +2002-08-11 Roland McGrath <roland@redhat.com> + + * elf/tst-tlsmod4.c (in_dso): Insert a random library call before use + of the TLS macros, otherwise the compiler might not have initialized + the PIC register yet when we use the PLT via asm. + * elf/tst-tlsmod3.c (in_dso2): Likewise. + * elf/tst-tlsmod2.c (in_dso): Likewise. + + * sunrpc/svc_authux.c (_svcauth_unix): Remove spurious printf (ugh!). + + * sysdeps/i386/bits/byteswap.h (__bswap_16, __bswap_32, __bswap_64): + Evaluate argument exactly once. Remove __volatile__ from asm's. + + * include/unistd.h: Use libc_hidden_proto for getdomainname + and getlogin_r. + * sysdeps/generic/getdomain.c: Add libc_hidden_def. + * sysdeps/mach/hurd/getdomain.c: Likewise. + * sysdeps/unix/getlogin_r.c: Likewise. + * sysdeps/mach/hurd/getlogin_r.c: Likewise. + * sysdeps/generic/getlogin_r.c: Likewise. + + * include/rpc/auth_des.h: Use libc_hidden_proto for rtime. + * sunrpc/rtime.c: Add libc_hidden_def. + + * include/string.h: Use libc_hidden_proto for basename. + * string/basename.c [_LIBC]: Add libc_hidden_def. + + * sysdeps/unix/sysv/linux/opensock.c (__opensock): socket -> __socket. + + * locale/loadarchive.c: munmap -> __munmap throughout. + + * include/netdb.h: Use libc_hidden_proto for gai_strerror. + * sysdeps/posix/gai_strerror.c: Add libc_hidden_def. + * sysdeps/generic/gai_strerror.c: Likewise. + + * include/sys/errno.h: New file. + + * include/signal.h: No libc_hidden_proto for raise, + __libc_current_sigrtmin, __libc_current_sigrtmax. + These need to be overridden by linuxthreads. + * sysdeps/posix/raise.c: Reverted. + * sysdeps/generic/raise.c: Reverted. + * signal/allocrtsig.c: Reverted. + + * locale/loadarchive.c (LOCALEDIR): Remove debugging defn. Oops. + +2002-08-10 Roland McGrath <roland@redhat.com> + + * locale/loadarchive.c (_nl_archive_subfreeres): New function. + * locale/localeinfo.h: Declare it. + * locale/setlocale.c (free_mem): Don't call _nl_unload_locale on the + current locale if it's not in the file list. + Call _nl_archive_subfreeres. + +2002-08-10 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/strchr.S: Add comment. + +2002-08-10 Roland McGrath <roland@redhat.com> + + * include/wchar.h (putwc): Use libc_hidden_proto. + * include/stdio.h (dprintf, fprintf, vfprintf, sprintf, + sscanf, fwrite, perror, remove, rewind, open_memstream): Likewise. + * stdio-common/dprintf.c: Add libc_hidden_def. + * stdio-common/fprintf.c: Likewise. + * stdio-common/sprintf.c: Likewise. + * stdio-common/sscanf.c: Likewise. + * libio/iofwrite.c: Likewise. + * libio/memstream.c: Likewise. + * libio/putwc.c: Likewise. + * stdio-common/perror.c: Likewise. + * sysdeps/posix/remove.c: Likewise. + * sysdeps/generic/remove.c: Likewise. + * libio/rewind.c: Likewise. Use <stdio.h> instead of "stdio.h". + * stdio-common/vfprintf.c: Add libc_hidden_def. Include <stdio.h>. + +2002-08-09 Jakub Jelinek <jakub@redhat.com> + + * include/wctype.h (iswalpha, iswdigit, iswlower, iswspace, iswxdigit, + towlower, towupper): Add prototypes here too. Add libc_hidden_proto. + * wctype/wcfuncs.c (iswalpha, iswdigit, iswlower, iswspace, iswxdigit, + towlower, towupper): Add libc_hidden_weak. + + * include/bits/dlfcn.h: New file. + * elf/dl-profstub.c (_dl_mcount_wrapper_check): Add libc_hidden_def. + + * include/grp.h (_nss_files_parse_grent): Add libc_hidden_proto. + * include/netinet/ether.h (_nss_files_parse_etherent): Likewise. + * include/rpc/netdb.h (_nss_files_parse_rpcent): Likewise. + * include/pwd.h (_nss_files_parse_pwent): Likewise. + * include/shadow.h (_nss_files_parse_spent): Likewise. + * include/netdb.h (_nss_files_parse_protoent, + _nss_files_parse_servent, _nss_files_parse_netent): Likewise. + * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define. + (LINE_PARSER): Use it. + * nss/nsswitch.h (__nss_hostname_digits_dots): Add libc_hidden_proto. + * nss/digits_dots.c (__nss_hostname_digits_dots): Add libc_hidden_def. + + * libio/oldiopopen.c: Move #if SHLIB_COMPAT after _IO_HAVE_SYS_WAIT + #endif. + + * manual/debug.texi (%MENU%): Remove trailing dot. + Reported by <hayastan132@hotmail.com>. + + * sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek): Add lseek + aliases. + (lseek): Dummy. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, lseek): + Likewise. + +2002-08-09 Roland McGrath <roland@redhat.com> + + * locale/loadarchive.c (_nl_load_locale_from_archive): Parse locale + name to find codeset name (if any) and normalize it. If the + normalized name differs, look up only that in the archive. + * locale/programs/locarchive.c (add_locale_to_archive): If the name + contains a codeset, normalize the codeset store only the normalized + name in the archive. If not, add an alias containing the locale's + normalized codeset name. Apply codeset name normalization when + matching entries in the alias file. + + * locale/programs/locarchive.c (delete_locales_from_archive): Don't + decrement HEAD->namehash_used here. + (add_locale): Only need to insert name string when name_offset != 0. + + * locale/programs/localedef.c (options): Add -A/--alias-file. + (alias_file): New variable. + (parse_opt): Grok -A, set that. + * locale/programs/localedef.h: Declare it. + + * locale/locarchive.h (struct locrecent): Add `refs' member. + * locale/programs/locarchive.c (insert_name): New function, broken out + of ... + (add_locale_to_archive): ... here. Call that. + (add_alias): New function. + (add_locale): New static function, add_locale_to_archive renamed. + (add_locale_to_archive): Call that and use add_alias to add an alias + for the name with codeset if the given name lacks it. + (enlarge_archive): Call add_locale instead of add_locale_to_archive. + + * locale/Makefile (routines): Add loadarchive. + * locale/loadarchive.c: New file, started from code by Ulrich Drepper. + (_nl_load_locale_from_archive): New function. + * locale/localeinfo.h: Declare it. + * locale/findlocale.c (_nl_find_locale): If using default locale path, + try _nl_load_locale_from_archive first. + + * locale/loadlocale.c (_nl_intern_locale_data): New function, + broken out of _nl_load_locale. + (_nl_load_locale): Call that. + * locale/localeinfo.h: Declare it. + (struct locale_data): Replace member `mmaped' with `alloc', an enum. + (struct locale_data): Remove unused member `options'. + * locale/findlocale.c (_nl_remove_locale): Update uses. + * locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise. + * locale/C-collate.c: Update initializer. + * locale/C-identification.c: Likewise. + * locale/C-measurement.c: Likewise. + * locale/C-telephone.c: Likewise. + * locale/C-address.c: Likewise. + * locale/C-name.c: Likewise. + * locale/C-paper.c: Likewise. + * locale/C-time.c: Likewise. + * locale/C-numeric.c: Likewise. + * locale/C-monetary.c: Likewise. + * locale/C-messages.c : Likewise. + * locale/C-ctype.c: Likewise. + + * locale/hashval.h [! LONGBITS]: Include <limits.h> here and + use CHAR_BIT instead of BITSPERBYTE. + + * locale/localeinfo.h (_nl_find_locale, _nl_load_locale, + _nl_unload_locale): Add `internal_function attribute_hidden' to decls. + * locale/findlocale.c (_nl_find_locale): Add internal_function to defn. + (_nl_remove_locale): Likewise. + * locale/loadlocale.c (_nl_load_locale, _nl_unload_locale): Likewise. + + * locale/findlocale.c (_nl_default_locale_path): New variable. + (_nl_find_locale): If LOCALE_PATH is null, default to that. + * locale/localeinfo.h: Declare it. + * locale/setlocale.c (setlocale): Use _nl_default_locale_path + in place of LOCALEDIR. If no LOCPATH, pass null to _nl_find_locale. + * locale/newlocale.c (__newlocale): Likewise. + + * misc/err.c (vwarnx, vwarn): Fix typos in libc_hidden_def uses. + * inet/rexec.c (rexec_af): Add libc_hidden_def. + * sysdeps/generic/morecore.c: Likewise. + * signal/allocrtsig.c (__libc_current_sigrtmin): Likewise. + (__libc_current_sigrtmax): Likewise. + +2002-08-08 Roland McGrath <roland@redhat.com> + + * locale/loadlocale.c (_nl_load_locale): Don't use MAP_INHERIT. + * catgets/open_catalog.c (__open_catalog): Likewise. + + * locale/programs/locarchive.c (INITIAL_NUM_NAMES): Renamed + from typo INITIAL_NUM_NANES. + (create_archive): Update use. + +2002-08-08 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/sigwait.c: New file. + +2002-08-08 Roland McGrath <roland@frob.com> + + * resolv/netdb.h: Don't declare h_errno as a plain global any more. + +2002-08-08 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define to something + else and undefine after including wcstol_l.c. + * sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Similarly. + +2002-08-08 Ulrich Drepper <drepper@redhat.com> + + * gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available. + +2002-08-08 Alexandre Oliva <aoliva@redhat.com> + + * configure.in: Make the test for broken_alias_attribute stricter. + +2002-05-24 Robert Love <rml@tech9.net> + + * posix/Makefile (routines): Add sched_getaffinity and + sched_setaffinity. + * posix/sched.h: Add declarations for sched_getaffinity and + sched_setaffinity. + * sysdeps/generic/sched_getaffinity.c: New file. + * sysdeps/generic/sched_setaffinity.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and + sched_setaffinity. + +2002-08-06 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes. + +2002-08-07 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error + message. + + * stdlib/isomac.c (get_null_defines): Treat NOT_IN_libc special. + It is known to be defined. + + * include/string.h: Define index and rindex only if _ISOMAC is not + defined. + + * elf/rtld.c: Include <errno.h>. + * sysdeps/generic/libc-tls.c: Likewise. + +2002-08-07 Roland McGrath <roland@redhat.com> + + * resolv/res_debug.c (latlon2ul): Add const to argument type, and use + it internally. + (precsize_aton): Likewise. + + * inet/getnetgrent_r.c (endnetgrent, __getnetgrent_r): Actually call + the static symbols added in the last change (doofus is me). + + * locale/newlocale.c (__newlocale): Use a bit mask instead of a second + loop to notice missing categories in a composite name. + + * locale/locale.h (LC_CTYPE_MASK, LC_NUMERIC_MASK, LC_TIME_MASK, + LC_COLLATE_MASK, LC_MONETARY_MASK, LC_MESSAGES_MASK, LC_ALL_MASK, + LC_PAPER_MASK, LC_NAME_MASK, LC_ADDRESS_MASK, LC_TELEPHONE_MASK, + LC_MEASUREMENT_MASK, LC_IDENTIFICATION_MASK, LC_ALL_MASK): New macros. + +2002-08-07 Ulrich Drepper <drepper@redhat.com> + + * malloc/tst-calloc.c: Add tests for one or both parameters being zero. + +2002-08-07 Roland McGrath <roland@redhat.com> + + * sysdeps/i386/dl-machine.h (elf_machine_rel): Add to, don't clobber, + unrelocated initial value for DTPOFF32 and TPOFF32 relocs. + Reported by Jakub Jelinek <jakub@redhat.com>. + +2002-08-07 Jakub Jelinek <jakub@redhat.com> + + * malloc/malloc.c (public_cALLOc): Check ELEM_SIZE != 0 before + division. + +2002-08-06 Roland McGrath <roland@redhat.com> + + * include/getopt.h: Put private decls inside [_GETOPT_H]. + Use libc_hidden_proto for getopt_long, getopt_long_only. + * posix/getopt1.c [_LIBC]: Include <getopt.h> instead of "getopt.h". + Add libc_hidden_def. + + * sysdeps/generic/unwind-dw2-fde-glibc.c [_LIBC] (dl_iterate_phdr): + Define as a macro for __dl_iterate_phdr. + + * inet/getnetgrent_r.c (internal_setnetgrent): Renamed from __ name, + made static. Add __ name as a strong alias. + (internal_endnetgrent): Likewise. + (internal_getnetgrent_r): Likewise. + + * locale/Versions (libc: GLIBC_2.3): Add all the *_l functions + with no __ prefix. + * locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l. + * ctype/ctype.h [__USE_GNU]: Add declarations and macros for + all *_l functions with no __ prefix. + * wctype/wcfuncs_l.c: Define weak aliases without __ for all fns. + * ctype/ctype_l.c: Likewise. + * locale/nl_langinfo.c: Likewise. + * string/string.h [__USE_GNU]: Add decls for all *_l fns with no __. + * stdlib/stdlib.h [__USE_GNU]: Likewise. + * wcsmbs/wchar.h [__USE_GNU]: Likewise. + * wctype/wctype.h [__USE_GNU]: Likewise. + * string/strcoll_l.c (strcoll_l): Define as weak alias. + * string/strxfrm_l.c (strxfrm_l): Define as weak alias. + * sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias. + * sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias. + * stdlib/strtod_l.c (strtod_l): Define as weak alias. + * stdlib/strtof_l.c (strtof_l): Define as weak alias. + * stdlib/strtold_l.c (strtold_l): Define as weak alias. + * wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias. + (__wcscasecmp_l): Add libc_hidden_def. + * wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias. + (__wcsncasecmp_l): Add libc_hidden_def. + * wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias. + * wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias. + * wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias. + * wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias. + * wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias. + * sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias. + * sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias. + * sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias. + * sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias. + * sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias. + * sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias. + * wctype/wctrans_l.c (wctrans_l) Define as weak alias. + * wctype/towctrans_l.c (towctrans_l) Define as weak alias. + * wctype/wctype_l.c (wctype_l) Define as weak alias. + +2002-08-05 Roland McGrath <roland@redhat.com> + + * include/rpc/auth.h: Use libc_hidden_proto for getnetname, + netname2user, host2netname, user2netname, key_gendes. + * sunrpc/netname.c: Add libc_hidden_def. + * sunrpc/key_call.c: Likewise. + + * include/netdb.h: Use libc_hidden_proto for getaddrinfo, getnameinfo, + freeaddrinfo. + * inet/getnameinfo.c: Add libc_hidden_def. + * sysdeps/generic/getaddrinfo.c: Likewise. + * sysdeps/posix/getaddrinfo.c: Likewise. + + * include/wchar.h: Use libc_hidden_proto for wmemchr, wmemset. + * wcsmbs/wmemchr.c: Add libc_hidden_def. + * wcsmbs/wmemset.c: Add libc_hidden_def. + + * include/string.h: Move libc_hidden_proto's inside #ifndef _STRING_H. + (index, rindex): Define as macros for strchr, strrchr. + + * string/envz.c (envz_strip): index -> strchr + + * include/rpc/rpc_msg.h: Use libc_hidden_proto for _seterr_reply. + * sunrpc/rpc_prot.c: Add libc_hidden_def. + + * include/wchar.h: Use libc_hidden_proto for mbrtowc. + * wcsmbs/mbrtowc.c: Add libc_hidden_weak. + + * include/stdlib.h: Use libc_hidden_proto for wctomb. + * stdlib/wctomb.c: Add libc_hidden_def. + + * include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af, + rexec_af, rresvport_af, ruserok_af, iruserok_af, ruserpass, hstrerror. + * resolv/herror.c: Likewise. + * inet/rcmd.c: Add libc_hidden_def. + * inet/ruserpass.c: Likewise. + * inet/getnetgrent_r.c: Likewise. + + * include/rpc/svc.h: Use libc_hidden_proto for svc_register, + svc_unregister, remove *_internal decls. Use libc_hidden_proto + for svcerr_auth, svcerr_noprog, svcerr_progvers. + * sunrpc/svc.c (svc_register, svc_unregister): Change INTDEF to + libc_hidden_def. + (svcerr_auth, svcerr_noprog, svcerr_progvers): Add libc_hidden_def. + * sunrpc/svc_simple.c (registerrpc): Nix INTUSE for svc_register. + + * sysdeps/posix/system.c (do_system): New function, guts broken out of + __libc_system. + (__libc_system): Call it, putting just the line == NULL test here. + + * include/libc-symbols.h (__hidden_proto): Add extern keywords so + variables work right. + + * elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext. + * elf/dl-close.c (_dl_close): Likewise. + + * include/netinet/in.h: Use libc_hidden_proto for bindresvport, + in6addr_any, in6addr_loopback. Remove decls for + bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal. + * sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport. + * sunrpc/svc_tcp.c (svctcp_create): Likewise. + * sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise. + * sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def. + * inet/in6_addr.c: Change INTVARDEF to libc_hidden_def. + * sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for + in6addr_loopback. + * inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any. + + * include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r, + ether_aton_r. + * inet/ether_aton_r.c: Add libc_hidden_def. + * inet/ether_ntoa_r.c: Likewise. + + * include/rpc/svc.h: Use libc_hidden_proto for xprt_register, + xprt_unregister. + * sunrpc/svc.c: Add libc_hidden_def. + * include/rpc/pmap_clnt.h: Use libc_hidden_proto for pmap_getport, + pmap_set, pmap_unset. + * sunrpc/pmap_clnt.c: Add libc_hidden_def. + * sunrpc/pm_getport.c: Likewise. + * include/rpc/auth_des.h: Use libc_hidden_proto for getpublickey. + * sunrpc/publickey.c: Add libc_hidden_def. + +2002-08-05 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (_dl_start): Don't use memset. Use same tricks as for + the other memset call in this function. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Store dtv pointer + at correct index. Clear BSS region now that memalign is used. + +2002-08-05 Roland McGrath <roland@redhat.com> + + * include/sys/utsname.h: Use libc_hidden_proto for uname, __uname. + * sysdeps/generic/uname.c: Add libc_hidden_def. + * sysdeps/mach/hurd/uname.c: Likewise. + +2002-08-05 Jakub Jelinek <jakub@redhat.com> + + * include/wchar.h (wcrtomb, wcscmp, wcsftime, wcsspn, wcschr, wcscoll, + wcspbrk): Add libc_hidden_proto. + * time/strftime.c (my_strftime): Add libc_hidden_def. + (strftime): Remove libc_hidden_def. + * wcsmbs/wcschr.c (wcschr): Add libc_hidden_def. + * wcsmbs/wcspbrk.c (wcspbrk): Likewise. + * wcsmbs/wcsspn.c (wcsspn): Likewise. + * wcsmbs/wcscmp.c (wcscmp): Likewise. + * wcsmbs/wcrtomb.c (wcrtomb): Add libc_hidden_weak. + * wcsmbs/wcscoll.c (wcscoll): Likewise. + + * include/rpc/rpc.h (__rpc_thread_svc_max_pollfd, + __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset, + __rpc_thread_createerr): Add libc_hidden_proto. + * sunrpc/rpc_thread.c (__rpc_thread_svc_max_pollfd, + __rpc_thread_svc_pollfd, __rpc_thread_svc_fdset, + __rpc_thread_createerr): Add libc_hidden_def. + + * include/rpc/clnt.h (clnt_sperrno, clnt_spcreateerror, + clnt_perror, clnt_sperror, _rpc_dtablesize): Add libc_hidden_proto. + * sunrpc/clnt_perr.c (clnt_sperrno, clnt_spcreateerror, + clnt_perror, clnt_sperror): Add libc_hidden_def. + * sunrpc/rpc_dtable.c (_rpc_dtablesize): Likewise. + + * include/rpc/des_crypt.h (des_setparity, ecb_crypt, cbc_crypt): Add + libc_hidden_proto. + * sunrpc/des_crypt.c (ecb_crypt, cbc_crypt): Add libc_hidden_proto. + * sunrpc/des_soft.c (des_setparity): Likewise. + + * include/rpc/auth.h (key_encryptsession_pk, key_decryptsession_pk): + Add libc_hidden_proto. + * sunrpc/key_call.c (key_encryptsession_pk, key_decryptsession_pk): + Add libc_hidden_def. + +2002-08-05 Roland McGrath <roland@redhat.com> + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member + `bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'. + * elf/rtld.c (dl_main): Set it to the new dtv for the main thread. + * sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the + dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the + old data, abandoning the original memory allocated by rtld at startup, + instead of calling realloc normally. + +2002-08-05 Ulrich Drepper <drepper@redhat.com> + + * po/fr.po: Update from translation team. + +2002-08-04 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/make-syscalls.sh: If the syscall name field is - + then generate a dummy module under the given name, obeying the + normal rules for the "caller" field. + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop + actually iterate over the elements. Fix typo p_type -> p_vaddr. + + * include/pthread.h: Don't declare __pthread_initialize_minimal as + weak here; we declare it weak or strong in the one place we use it. + * sysdeps/generic/libc-start.c: ... which is here. + Don't make the decl weak if [USE_TLS], since static programs need TLS + setup even when single-threaded. + + * stdlib/isomac.c (fmt): Add -DNOT_IN_libc to the compiler command. + + * elf/Makefile (test-srcs): Add $(modules-names) to it. + (CFLAGS-vismod2.c, CFLAGS-failobj.c, CFLAGS-constload2.c, + CFLAGS-reldepmod3.c, CFLAGS-reldepmod4.c, CFLAGS-ltglobmod2.c): Remove + all these variables. + +2002-08-04 Ulrich Drepper <drepper@redhat.com> + + * include/stdio.h: Don't define macro magic to redirect function + calls if _ISOMAC is defined. + + * sysdeps/i386/fpu/libm-test-ulps: Add epsilons for inlined + ldouble asin tests. + +2002-08-04 Roland McGrath <roland@redhat.com> + + * stdlib/lrand48_r.c: Add libc_hidden_def. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): Allocate the + TCB with __libc_memalign instead of mmap. + (_dl_deallocate_tls): Free it with free instead of munmap. + + * Makerules (cpp-srcs-left): When setting this to run + cppflags-iterator.mk, must append .c to $(tests) and $(xtests) + words. Combine the two loops into one on the concatenated list, + including those as well as $(test-srcs). + + * elf/dl-minimal.c (__libc_memalign): Guts of malloc moved here, + since we align here with optimally minimal waste anyway. + (malloc): Just call that. + + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Set l_tls_offset to + the right variable. + + * elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset, + to compute memory location for l_tls_initimage. + * elf/rtld.c (_dl_start): Likewise. + * sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise. + + * libio/oldiopopen.c: Move #include's before #if SHLIB_COMPAT, + because the .d file is generated in the non-shared case and + so fails to catch them otherwise. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function, + split out of _dl_allocate_tls. + (_dl_allocate_tls_init): Likewise. + (_dl_allocate_tls): Call those. + * sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden. + * elf/rtld.c (dl_main): Call them separately instead of calling + _dl_allocate_tls. Delay _dl_allocate_tls_init until after relocation + is finished, so that the initializer data has been relocated before we + copy it into the main thread's TLS block. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Fix off-by-one error in + loop conditions, prevented the last used module from being initialized. + +2002-08-04 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/glob.c (glob, globfree): Only use libc_hidden_def + if glob resp. globfree are not macros. + * sysdeps/gnu/glob64.c (globfree64): Add libc_hidden_def. + * sysdeps/unix/sysv/linux/alpha/glob.c (glob, globfree, globfree64): + Add libc_hidden_ver. + * sysdeps/unix/sysv/linux/i386/glob64.c (globfree64): Add + libc_hidden_def. + * sysdeps/wordsize-64/glob.c (globfree64): Use libc_hidden_ver + instead of libc_hidden_weak. + * sysdeps/wordsize-64/strtol.c (__strtoll_internal): Use + libc_hidden_ver instead of libc_hidden_def. + * sysdeps/wordsize-64/wcstol.c (__wcstoll_internal): Use + libc_hidden_ver instead of libc_hidden_def. + (wcstoll, wcstoq): Remove libc_hidden_weak. + * sysdeps/wordsize-64/strtol_l.c (____strtoll_l_internal): Add + libc_hidden_ver. + * sysdeps/wordsize-64/strtoul.c (__strtoull_internal): Add + libc_hidden_ver. + * sysdeps/wordsize-64/strtoul_l.c (____strtoull_l_internal): Add + libc_hidden_ver. + * sysdeps/wordsize-64/wcstoul.c (__wcstoull_internal): Add + libc_hidden_ver. + +2002-08-04 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/psignal.c: Declare _sys_siglist_internal. Use USEINT + to access _sys_siglist. + * string/strsignal.c: Likewise. + * sysdeps/generic/siglist.c: Add _sys_siglist_internal alias. + * sysdeps/gnu/siglist.c: Likewise. + * sysdeps/unix/siglist.c: Likewise. + * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. + + * libio/fileops.c: Add missing INTUSEs for _IO_file_jumps. + + * libio/wfileops.c: Add missing INTUSE for _IO_file_close. + + * intl/dcigettext.c: Define _nl_default_dirname_internal as hidden + alias and use it. + * intl/bindtextdom.c: Use _nl_default_dirname_internal. + + * include/netinet/in.h: Add declaration of in6addr_loopback_internal. + * inet/in6_addr.c: Add INTVARDEF for in6addr_loopback. + * sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access. + + * include/time.h: Add libc_hidden_proto for __gmtime_r. + * time/gmtime.c (__gmtime_r): Add libc_hidden_def. + + * iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db, + and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db, + and __gconv_get_cache respectively. + * iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and + defined static. Change all users. + (__gconv_get_cache): New function. + * iconv/gconv_db.c (__gconv_get_modules_db): New function. + (__gconv_get_alias_db): New function. + * iconv/gconv_int.h (__gconv_alias_db): Declare as hidden. + (__conv_modules_db): Likewise. + Add prototypes for __gconv_get_cache, __gconv_get_modules_db, + and __gconv_get_alias_db. + * iconv/iconv_prog.c: Use the new functions instead of accessing the + variables. + + * include/stdlib.h: Add prototype and libc_hidden_proto for + __default_morecore. + * sysdeps/generic/morecore.c: Include <stdlib.h>. + + * malloc/obstack.c: Remove fputs macro. + + * malloc/mtrace.c: Remove fopen macro. + +2002-08-04 Jakub Jelinek <jakub@redhat.com> + + * manual/debug.texi: Fix spelling to programmatically. + Reported by <hayastan132@hotmail.com>. + +2002-08-04 Ulrich Drepper <drepper@redhat.com> + + * include/libio.h: Add libc_hidden_proto for __uflow. + * include/stdio.h: Map fopen, fdopen, fclose, fputs, fsetpos, and + fgetpos to _IO_* names. + Add libc_hidden_proto for fileno, fwrite, fseek, fflush_unlocked, + fread_unlocked, fwrite_unlocked, fgets_unlocked, fputs_unlocked. + * include/wchar.h: Add libc_hidden_proto for fputws_unlocked, + putwc_unlocked, vswscanf. + * libio/iolibio.h: Add libc_hidden_proto for _IO_fputs. + * libio/fileno.c: Use <stdio.h> and libc_hidden_def. + * libio/fseek.c: Likewise. + * libio/fmemopen.c: Include "libioP.h". Call _IO_fopencookie and + not fopencookie. + * libio/genops.c (__uflow): Add libc_hidden_def. + * libio/iofflush_u.c (fflush_unlocked): Likewise. + * libio/iofgets_u.c (fgets_unlocked): Likewise. + * libio/iofputs_u.c (fputs_unlocked): Likewise. + * libio/iofputws_u.c (fputws_unlocked): Likewise. + * libio/iofread_u.c (fread_unlocked): Likewise. + * libio/iofwrite_u.c (fwrite_unlocked): Likewise. + * libio/iovswscanf.c (vswscanf): Likewise. + * libio/putwc_u.c (putwc_unlocked): Likewise. + * libio/iofputs.c: Use libc_hidden_def instead of INTDEF. + * malloc/malloc.c: Redirect fwrite calls to _IO_fwrite. + * malloc/mtrace.c: Likewise. + + * sunrpc/clnt_perr.c: Remove fputs macro. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_ref.c: Likewise. + + * iconv/Makefile: Add CPPFLAGS definitions with -DNOT_in_libc for + iconv_prog, linereader, and charmap-dir. + * locale/Makefile: Likewise for locale and charmap-dir. + * malloc/Makefile: Likewise for memusagestat. + * nscd/Makefile: Likewise for nscd, nscd_conf, and dbg_log. + * sunrpc/Makefile: Likewise for rpc_main. + * sysdeps/unix/sysv/linux/Makefile: Likewise for lddlibc4. + * timezone/Makefile: Likewise for zic. + + * stdio-common/perror.c: Avoid multiple calls to fileno_unlocked. + + * elf/dl-addr.c (_dl_addr): Add libc_hidden_def. + * elf/dl-close.c (_dl_close): Add libc_hidden_def. + * elf/dl-open.c (_dl_open): Add libc_hidden_def. + * include/dlfcn.h: Add libc_hidden_proto for _dl_addr, _dl_open, + _dl_close. + + * include/libio.h: Add libc_hidden_proto for __underflow, __wuflow, + __wunderflow. + * libio/genops.c (__underflow): Add libc_hidden_def. + * libio/wgenops.c (__wuflow): Likewise. + (__wunderflow): Likewise. + + * include/obstack.h: Add libc_hidden_proto for _obstack_newchunk. + * malloc/obstack.c (_obstack_newchunk): Add libc_hidden_def. + + * include/stdio.h: Add libc_hidden_proto for __vfscanf. + * stdio-common/vfscanf.c (__vfscanf): Add libc_hidden_def. + + * include/string.h: Add libc_hidden_proto for __strverscmp. + * string/strverscmp.c (__strverscmp): Add libc_hidden_def. + + * include/unistd.h: Add libc_hidden_proto for __sysconf. + * sysdeps/generic/sysconf.c (__sysconf): Add libc_hidden_def. + * sysdeps/posix/sysconf.c: Likewise. + * sysdeps/unix/sysv/irix4/sysconf.c: Likewise. + * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise. + + * include/wctype.h: Use libc_hidden_proto for __iswctype, __iswalnum_l, + __iswalpha_l, __iswblank_l, __iswcntrl_l, __iswdigit_l, __iswlower_l, + __iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l, + __iswxdigit_l, __towlower_l, __towupper_l. + * wcsmbs/wcstype.c (__iswctype): Use libc_hidden_def. + * wcsmbs/wcfuncs_l.c: Use libc_hidden_def for all functions. + + * include/sys/wait.h: Add libc_hidden_proto for __xmknod. + * sysdeps/generic/xmknod.c (__xmknod): Add libc_hidden_def. + * sysdeps/mach/hurd/xmknod.c: Likewise. + * sysdeps/unix/xmknod.c: Likewise. + * sysdeps/unix/sysv/linux/xmknod.c: Likewise. + * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise. + * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. + + * sunrpc/svc.c: Add missing INTUSE for _authenticate. + +2002-08-03 Roland McGrath <roland@redhat.com> + + * include/sys/resource.h: Use libc_hidden_proto for getpriority, + setpriority. + * sysdeps/unix/sysv/linux/getpriority.c: Add libc_hidden_def. + * sysdeps/unix/sysv/irix4/getpriority.c: Likewise. + * sysdeps/unix/sysv/irix4/setpriority.c: Likewise. + * sysdeps/mach/hurd/setpriority.c: Likewise. + * sysdeps/mach/hurd/getpriority.c: Likewise. + * sysdeps/generic/setpriority.c: Likewise. + * sysdeps/generic/getpriority.c: Likewise. + + * include/mcheck.h: Use libc_hidden_proto for mcheck_check_all. + * malloc/mcheck.c: Add libc_hidden_def. + + * include/search.h: Use libc_hidden_proto for hcreate_r, hdestroy_r. + * misc/hsearch_r.c: Add libc_hidden_def. + + * include/fnmatch.h: Use libc_hidden_proto for fnmatch. + * posix/fnmatch.c: Add libc_hidden_weak. + + * include/unistd.h: Use libc_hidden_proto for _exit, alarm, confstr, + execl, execle, execlp, execvp, getpid, getsid. + * sysdeps/generic/alarm.c: Add libc_hidden_def. + * sysdeps/unix/alarm.c: Likewise. + * posix/confstr.c: Likewise. + * posix/execvp.c: Likewise. + * posix/execlp.c: Likewise. + * posix/execle.c: Likewise. + * posix/execl.c: Likewise. + * sysdeps/generic/getsid.c: Likewise. + * sysdeps/mach/hurd/getsid.c: Likewise. + * sysdeps/generic/getpid.c: Add libc_hidden_weak. + * sysdeps/mach/hurd/getpid.c: Likewise. + + * include/stdlib.h: Use libc_hidden_proto for ecvt_r, fcvt_r, + qecvt_r, qfcvt_r, lrand48_r. + * misc/efgcvt_r.c: Add libc_hidden_def. + + * include/wordexp.h: Use libc_hidden_proto for wordfree. + * sysdeps/generic/wordexp.c: Add libc_hidden_def. + + * include/langinfo.h: Use libc_hidden_proto for nl_langinfo. + * locale/nl_langinfo.c: Add libc_hidden_def. + + * include/glob.h: Use libc_hidden_proto for glob, globfree, globfree64. + * sysdeps/generic/glob.c: Add libc_hidden_def. + * sysdeps/generic/glob64.c: Likewise. + * sysdeps/wordsize-64/glob.c (globfree64): Add libc_hidden_weak. + + * locale/nl_langinfo.c: Use _NL_CURRENT_DATA. + + * elf/Makefile (CFLAGS-vismod2.c): New variable. + + * locale/setlocale.c (_nl_current_names): Variable moved ... + * locale/localename.c (_nl_current_names): ... here, new file. + Make it global, with attribute_hidden. + * locale/localeinfo.h: Declare it. + * locale/Makefile (aux): Add localename. + * locale/localename.c (__current_locale_name): New function. + * include/locale.h (__current_locale_name): Declare it. + * intl/dcigettext.c (guess_category_value): Use that instead of + calling setlocale. + + * locale/locale.h [__USE_GNU] (locale_t): New type alias of __locale_t. + [__USE_GNU] (newlocale, duplocale, freelocale, uselocale): New decls. + [__USE_GNU] (LC_GLOBAL_LOCALE): New macro. + * locale/newlocale.c: Add alias to __ name. + * locale/duplocale.c: Likewise. + * locale/freelocale.c: Likewise. + * locale/uselocale.c: New file. + * locale/Makefile (routines): Add it. + * locale/Versions (libc: GLIBC_2.3): New set. + Add newlocale, duplocale, freelocale, uselocale. + (libc: GLIBC_PRIVATE): Add __uselocale. + + * locale/localeinfo.h [SHARED] + (_NL_CURRENT_LOCALE): New macro, defined to fetch a tsd value. + (_NL_CURRENT_DATA): Define using that. + (_NL_CURRENT, _NL_CURRENT_WSTR, _NL_CURRENT_WORD): Define using that. + (_NL_CURRENT_DEFINE): Define to empty. + [! SHARED]: Decls of _nl_current_CATEGORY and _nl_current + conditionalized on this. + * locale/xlocale.c (NL_C_INTIIALIZER): New macro, + taking initializer of _nl_C_locobj. + [SHARED] (_nl_global_locale): New variable, using that initializer. + (_nl_C_locobj): Use new macro for initialzier. + * locale/setlocale.c [! SHARED] (_nl_current): Conditionalize on this. + [! SHARED] (CATEGORY_USED): New macro. + [SHARED] (CATEGORY_USED, _nl_C): New macros. + (setdata, setlocale): Use that macro instead of examining _nl_current. + (setdata): Set the slot in _nl_global_locale. + Conditionalize setting of _nl_current on [! SHARED]. + * locale/findlocale.c [SHARED] (_nl_C): Define as a macro instead of + declaration as an extern. + * locale/newlocale.c (__newlocale): Use _nl_C_locobj instead of _nl_C. + + * include/locale.h: Use libc_hidden_proto for setlocale. + * locale/setlocale.c: Add libc_hidden_def. + + * locale/setlocale.c (free_mem): Use _NL_CURRENT_DATA. + + * include/search.h: Use libc_hidden_proto for hsearch_r, lfind. + * misc/hsearch_r.c: Add libc_hidden_def. + * misc/lsearch.c: Likewise. + + * include/ttyent.h: Use libc_hidden_proto for getttyent, setttyent, + endttyent. + * misc/getttyent.c: Add libc_hidden_def. + + * include/mcheck.h: Use libc_hidden_proto for mcheck. + * malloc/mcheck.c: Add libc_hidden_def. + + * include/envz.h: Use libc_hidden_proto for envz_entry, enz_remove. + * include/argz.h: Use libc_hidden_proto for argz_delete. + * string/argz-delete.c: Add libc_hidden_def. + * string/envz.c: Likewise. Use <envz.h>, not "envz.h". + + * sysdeps/unix/sysv/linux/x86_64/clone.S (thread_start): Use + HIDDEN_JUMPTARGET for _exit. + * sysdeps/unix/sysv/linux/m68k/clone.S (thread_start): Likewise. + * sysdeps/unix/sysv/linux/i386/clone.S (thread_start): Likewise. + * sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise. + * sysdeps/unix/_exit.S (_exit): Add libc_hidden_def. + + * include/libc-symbols.h: Fix [__ASSEMBLY__] -> [__ASSEMBLER__]. + [__ASSEMBLER__] (hidden_weak): Define using hidden_def, or to empty. + [__ASSEMBLER__] (HIDDEN_JUMPTARGET): New macro. + * sysdeps/unix/sysv/linux/i386/makecontext.S: Use it for exit. + + * include/stdlib.h: Use libc_hidden_proto for abort, + __strtof_internal, __strtod_internal, __strtold_internal, + __strtol_internal, __strtoll_internal, __strtoul_internal, + __strtoull_internal. __strtof_l_internal, __strtod_l_internal, + __strtold_l_internal, __strtol_l_internal, __strtoll_l_internal, + __strtoul_l_internal, __strtoull_l_internal. + * include/wchar.h: Use libc_hidden_proto for __wcstof_internal, + __wcstod_internal, __wcstold_internal, __wcstol_internal, + __wcstoll_internal, __wcstoul_internal, ____wcstof_l_internal, + ____wcstod_l_internal, ____wcstold_l_internal, ____wcstol_l_internal, + ____wcstoll_l_internal, ____wcstoul_l_internal, __wcscasecmp_l, + __wcsncasecmp_l. + * sysdeps/generic/abort.c: Add libc_hidden_def. + * stdlib/strtod.c: Likewise. + * sysdeps/generic/strtol.c: Likewise. + * sysdeps/wordsize-64/strtol.c: Likewise. + * sysdeps/wordsize-64/wcstol.c: Likewise. + * sysdeps/wordsize-64/wcstol_l.c: Likewise. + + * include/stdlib.h: Use libc_hidden_proto for qsort. + * stdlib/msort.c: Add libc_hidden_def. + + * include/utime.h: Use libc_hidden_proto for utime. + * sysdeps/generic/utime.c: Add libc_hidden_def. + * sysdeps/unix/utime.c: Likewise. + + * sysdeps/generic/utmp_file.c (LOCK_FILE): sigemptyset -> __sigemptyset + * sysdeps/posix/profil.c (__profil): sigfillset -> __sigfillset + * sysdeps/posix/sprofil.c (__sprofil): Likewise. + * shadow/lckpwdf.c (__lckpwdf): Likewise (both). + * sysdeps/posix/spawni.c (__spawni): sigismember -> __sigismember + + * include/signal.h: Use libc_hidden_proto for raise, sigemptyset, + sigfillset, sigismember, __sigpause, __libc_current_sigrtmin, + and __libc_current_sigrtmax. + * signal/sigismem.c: Add libc_hidden_def. + * signal/sigfillset.c: Likewise. + * signal/sigempty.c: Likewise. + * sysdeps/generic/sigpause.c (__sigpause): Likewise. + * sysdeps/posix/sigpause.c (__sigpause): Likewise. + * sysdeps/unix/bsd/osf/alpha/sigpause.S: Likewise. + * sysdeps/posix/raise.c: Likewise. + * sysdeps/generic/raise.c: Likewise. + +2002-08-03 Ulrich Drepper <drepper@redhat.com> + + * include/string.h: Use libc_hidden_proto for __stpcpy. + * sysdeps/alpha/stpcpy.S (__stpcpy): Add libc_hidden_def. + * sysdeps/alpha/alphaev67/stpcpy.S: Likewise. + * sysdeps/generic/stpcpy.c: Likewise. + * sysdeps/i386/stpcpy.S: Likewise. + * sysdeps/i386/i586/stpcpy.S: Likewise. + * sysdeps/powerpc/stpcpy.S: Likewise. + * sysdeps/sparc/sparc32/stpcpy.S: Likewise. + * sysdeps/sparc/sparc64/stpcpy.S: Likewise. + + * include/string.h: Use libc_hidden_proto for __strcasecmp_l, + __strncasecmp_l, __strdup, __strndup, __strerror_r. + * sysdeps/generic/strcasecmp_l.c (__strcasecmp_l): Add + libc_hidden_def. + * string/strdup.c (__strdup): Likewise. + * string/strndup.c (__strndup): Likewise. + * sysdeps/generic/_strerror.c (__strerror_r): Likewise. + * sysdeps/generic/strncase_l.c (__strncasecmp_l): Likewise. + +2002-08-03 Jakub Jelinek <jakub@redhat.com> + + * include/libio.h: New file. + * libio/libioP.h (__overflow, __woverflow): Remove libc_hidden_proto. + * libio/iolibio.h: #include <libio.h>, not "libio.h". + * sysdeps/generic/morecore.c (__sbrk): Add libc_hidden_proto. + * sysdeps/unix/bsd/syscalls.list: Remove all __GI_* aliases. + * sysdeps/unix/common/syscalls.list: Likewise. + * sysdeps/unix/inet/syscalls.list: Likewise. + * sysdeps/unix/sysv/irix4/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/mips/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/sysv/sysv4/solaris2/syscalls.list: Likewise. + * sysdeps/unix/syscalls.list: Likewise. + +2002-08-03 Jakub Jelinek <jakub@redhat.com> + Ulrich Drepper <drepper@redhat.com> + + * malloc/malloc.c (public_cALLOc): Only divide if at least one of + the arguments is big enough to cause an overflow. + +2002-08-03 Ulrich Drepper <drepper@redhat.com> + + * assert/assert.c: Use hidden_def not INTDEF. + +2002-08-03 Jakub Jelinek <jakub@redhat.com> + + * include/libc-symbols.h: Optimize if HAVE_BROKEN_ALIAS_ATTRIBUTE is + not defined. + +2002-08-03 Roland McGrath <roland@redhat.com> + + * include/sys/syslog.h: Use libc_hidden_proto for syslog, vsyslog. + * include/err.h: Use libc_hidden_proto for warn, warnx, vwarn, vwarn, + verr, verrx. + * include/stdlib.h: Use libc_hidden_proto for exit, getenv, bsearch. + * misc/syslog.c: Add libc_hidden_def. + * misc/err.c: Likewise. + * stdlib/exit.c: Likewise. + * stdlib/bsearch.c: Likewise. + * sysdeps/generic/getenv.c: Likewise. + + * include/libc-symbols.h (hidden_weak): Define it for [__ASSEMBLER__]. + + * sysdeps/unix/make-syscalls.sh: Generate libc_hidden_def or + libc_hidden_weak for every system call symbol defined. + + * include/time.h: Use libc_hidden_proto for time, asctime, mktime, + timelocal, localtime, strftime. + * time/asctime.c: Add libc_hidden_def. + * time/mktime.c: Likewise. + * time/localtime.c: Likewise. + * time/strftime.c: Likewise. + * time/strptime.c: Likewise. + * sysdeps/generic/time.c: Likewise. + * sysdeps/unix/time.c: Likewise. + * sysdeps/unix/sysv/i386/time.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/time.S: Likewise. + + * include/arpa/inet.h: Use libc_hidden_proto for inet_ntop, inet_pton. + inet_makeaddr, inet_netof, inet_addr, __inet_addr. + * resolv/inet_ntop.c: Likewise. + * resolv/inet_pton.c: Likewise. + * inet/inet_mkadr.c: Add libc_hidden_def. + * inet/inet_netof.c: Likewise. + * resolv/inet_addr.c: Likewise. + + * include/libc-symbols.h: Remove `defined HAVE_BROKEN_ALIAS_ATTRIBUTE' + clauses from conditionals for now. Will have to be fixed later + for older compilers. + + * sysdeps/generic/mempcpy.c (__mempcpy): #undef it before defn. + +2002-08-02 Ulrich Drepper <drepper@redhat.com> + + * configure.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add check for + broken alias attribute handling. + * config.h.in (HAVE_BROKEN_ALIAS_ATTRIBUTE): Add. + +2002-08-02 Roland McGrath <roland@frob.com> + + * elf/Makefile ($(objpfx)interp.os): Depend on config.make, + since it sets the variables we use in a -D switch. + +2002-08-02 Roland McGrath <roland@redhat.com> + + * posix/bits/posix1_lim.h (SSIZE_MAX): Define to LONG_MAX, not INT_MAX. + On 32-bit platforms they are the same; on 64-bit platforms ssize_t + matches long int, not int. + + * locale/localeinfo.h (_NL_CURRENT_DATA): New macro. + * wcsmbs/wcsmbsload.h (update_conversion_ptrs): Use it. + * locale/lc-ctype.c (_nl_postload_ctype): Likewise. + * wctype/wctrans.c (wctrans): Likewise. + * wctype/wctype.c (__wctype): Likewise. + * intl/loadmsgcat.c (_nl_init_domain_conv): Use _NL_CURRENT. + +2002-08-02 Ulrich Drepper <drepper@redhat.com> + + * assert/assert.c (__assert_fail): Fix typo in comment. + + * include/rpc/rpc.h: Declare RPC_VARS tsd as extern. + * sunrpc/rpc_thread.c: Define it without static. + * sunrpc/Versions [libc] (GLIBC_PRIVATE): Export __libc_tsd_RPC_VARS. + +2002-08-02 Jakub Jelinek <jakub@redhat.com> + + * assert/assert.c (__assert_fail): Remove undef. + Replace INTDEF with libc_hidden_def. + * assert/__assert.c (__assert): Remove INTUSE. + * elf/dl-minimal.c (__assert_fail): Replace INTDEF with + libc_hidden_weak. + * include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak, + hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak, + libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak, + rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak, + libm_hiden_ver): Define. + * include/assert.h (__assert_fail_internal): Remove. + (__assert_fail): Add prototype. Add hidden_proto. + * include/libc-internal.h (__libc_freeres, __profile_frequency): Add + libc_hidden_proto. + * include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove. + (__mbrtowc, __mbrlen): Use libc_hidden_proto. Remove macros. + * include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp): + Add libc_hidden_proto. + * include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open, + __fcntl): Add libc_hidden_proto. Remove macros. + (__open_internal, __fcntl_internal): Remove. + * libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl. + * malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def. + * nss/nsswitch.h (__nss_database_lookup, __nss_next): Add + libc_hiden_proto. + * nss/nsswitch.c (__nss_database_lookup, __nss_next): Add + libc_hidden_def. + * sysdeps/generic/mempcpy.c (__mempcpy): Remove undef. + Add libc_hidden_def. + * sysdeps/generic/open64.c (__open64): Add libc_hidden_def. + * sysdeps/generic/open.c (__open): Remove undef. + Add libc_hidden_def. Remove INTDEF. + * sysdeps/generic/fcntl.c (__fcntl): Remove undef. + Add libc_hidden_def. + * sysdeps/mach/hurd/fcntl.c (__fcntl): Likewise. + * sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def. + * sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise. + * sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef. + (__fcntl): Remove INTDEF2. Add libc_hidden_weak. + (__libc_fcntl): Add libc_hidden_def. + * sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef. + (__open): Remove INTDEF2. Add libc_hidden_weak. + (__libc_open): Add libc_hidden_def. + * sysdeps/posix/open64.c (__open64): Add libc_hidden_weak. + * sysdeps/standalone/open.c (__open): Add libc_hidden_def. + * sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef. + Add libc_hidden_def. + * sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef. + Add libc_hidden_def. + * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove + undef. + (__fcntl): Remove INTDEF2. Add libc_hidden_weak. + (__libc_fcntl): Add libc_hidden_def. + * sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal, + __getpgid_internal, __chown_internal): Remove. + (__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe, + __GI___sched_setscheduler, __GI___select, __GI___setpgid, + __GI___chown): Add. + * sysdeps/unix/syscalls.list (__close_internal, __dup2_internal, + __getpid_internal, __open_internal, __write_internal): Remove. + (__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open, + __GI___chown, __GI___close, __GI___dup2, __GI___getpid, + __GI___libc_open, __GI___open, __GI___read, __GI___libc_read, + __GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add. + * wcsmbs/mbrlen.c (__mbrlen): Remove undef. + Replace INTDEF with libc_hidden_def. + * wcsmbs/mbrtowc.c (__mbrtowc): Likewise. + * catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto. + * catgets/open_catalog.c (__open_catalog): Add libc_hidden_def. + * elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto. + * include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr): + Add libc_hidden_proto. + * include/sys/poll.h (__poll): Add libc_hidden_proto. + * include/sys/select.h (__select): Likewise. + * include/sys/socket.h (__send): Likewise. + * include/sys/statfs.h (__statfs): Likewise. + * include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2, + __getpid, __getpgid, __setpgid, __close, __read, __write, + __getpagesize, __sbrk): Likewise. + (__chown_internal, __dup2_internal, __getpid_internal, + __getpgid_internal, __close_internal, __write_internal, + __getpagesize_internal): Remove. + (__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write): + Remove macros. + * include/printf.h (__printf_fp): Add libc_hidden_proto. + * include/sched.h (__sched_setscheduler): Likewise. + * include/resolv.h (__res_ninit, __res_randomid): Likewise. + * include/stdlib.h (__secure_getenv): Likewise. + * include/signal.h (__sigaction, __sigsuspend): Likewise. + * inet/getaliasent_r.c (NSS_attribute_hidden): Remove. + * inet/getaliasname_r.c (NSS_attribute_hidden): Remove. + * inet/getnetbyad_r.c (NSS_attribute_hidden): Remove. + * inet/getnetbynm_r.c (NSS_attribute_hidden): Remove. + * inet/getnetent_r.c (NSS_attribute_hidden): Remove. + * inet/getproto_r.c (NSS_attribute_hidden): Remove. + * inet/getprtent_r.c (NSS_attribute_hidden): Remove. + * inet/getprtname_r.c (NSS_attribute_hidden): Remove. + * inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove. + * inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove. + * inet/getrpcent_r.c (NSS_attribute_hidden): Remove. + * inet/getservent_r.c (NSS_attribute_hidden): Remove. + * inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove. + * inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove. + * inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE. + * inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise. + * inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise. + * inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise. + * libio/genops.c (__overflow): Add libc_hidden_def. + * libio/iovdprintf.c: Remove libio.h include. + * libio/libioP.h (libc_hidden_proto, libc_hidden_def, + libc_hidden_weak): Define to nothing if not defined. + (__overflow, __woverflow): Add libc_hidden_proto. + * libio/wgenops.c (__woverflow): Add libc_hidden_def. + * nss/getXXent_r.c (NSS_attribute_hidden): Remove. + (DB_LOOKUP_FCT): Add libc_hidden_proto. + * nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove. + (DB_LOOKUP_FCT): Add libc_hidden_proto. + * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto + and libc_hidden_def. + * nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF. + * posix/bsd-getpgrp.c (__getpgid_internal): Remove. + (__getpgid): Add libc_hidden_proto. + (__bsd_getpgrp): Remove INTUSE. + * resolv/res_init.c (__res_ninit, __res_randomid): Add + libc_hidden_def. + * shadow/getspent_r.c (NSS_attribute_hidden): Remove. + * shadow/getspnam_r.c (NSS_attribute_hidden): Remove. + * stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def. + * stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto. + * stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def. + * sunrpc/rpc_thread.c (__rpc_thread_svc_fdset, + __rpc_thread_createerr): Add libc_hidden_def. + * sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add + libc_hidden_def. + * sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise. + * sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise. + * sysdeps/alpha/stpncpy.S (__stpncpy): Likewise. + * sysdeps/generic/chown.c (__chown): Likewise. + * sysdeps/generic/close.c (__close): Likewise. + * sysdeps/generic/dup2.c (__dup2): Likewise. + * sysdeps/generic/pipe.c (__pipe): Likewise. + * sysdeps/generic/prof-freq.c (__profile_frequency): Likewise. + * sysdeps/generic/pwrite64.c (__pwrite64): Likewise. + * sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise. + * sysdeps/generic/read.c (__libc_read): Likewise. + (__read): Add libc_hidden_weak. + * sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def. + * sysdeps/generic/sched_sets.c (__sched_setscheduler): Likewise. + * sysdeps/generic/select.c (__select): Likewise. + * sysdeps/generic/send.c (__send): Likewise. + * sysdeps/generic/setpgid.c (__setpgid): Likewise. + * sysdeps/generic/sigaction.c (__sigaction): Likewise. + * sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise. + * sysdeps/generic/statfs.c (__statfs): Likewise. + * sysdeps/generic/stpncpy.c (__stpncpy): Likewise. + * sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise. + * sysdeps/generic/getpagesize.c (__getpagesize): Likewise. + Remove undef and INTDEF. + * sysdeps/generic/getpgid.c (__getpgid): Likewise. + * sysdeps/generic/getpid.c (__getpid): Likewise. + * sysdeps/generic/write.c (__libc_write): Likewise. + (__write): Add libc_hidden_weak. Remove undef and INTDEF. + * sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def. + * sysdeps/i386/stpncpy.S (__stpncpy): Likewise. + * sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise. + * sysdeps/mach/hurd/chown.c (__chown): Likewise. Remove INTDEF. + * sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def. + Remove undef and INTDEF. + * sysdeps/mach/hurd/dup2.c (__dup2): Likewise. + * sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise. + * sysdeps/mach/hurd/getpid.c (__getpid): Likewise. + * sysdeps/mach/getpagesize.c (__getpagesize): Likewise. + * sysdeps/mach/hurd/write.c (__libc_write): Likewise. + (__write): Add libc_hidden_weak. Remove undef and INTDEF. + * sysdeps/mach/hurd/pipe.c: Include unistd.h. + (__pipe): Add libc_hidden_def. + * sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add + libc_hidden_weak. + * sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def. + * sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise. + * sysdeps/mach/hurd/read.c (__libc_read): Likewise. + (__read): Add libc_hidden_weak. + * sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise. + (__libc_pwrite64): Add libc_hidden_def. + * sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise. + * sysdeps/mach/hurd/select.c (__select): Likewise. + * sysdeps/mach/hurd/send.c (__send): Likewise. + * sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise. + * sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise. + * sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise. + * sysdeps/mach/hurd/statfs.c (__statfs): Likewise. + * sysdeps/posix/dup2.c: Likewise. + Remove undef and INTDEF. + * sysdeps/posix/getpagesize.c (__getpagesize): Likewise. + * sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def. + (__pwrite64): Add libc_hidden_weak. + * sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def. + * sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise. + * sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise. + * sysdeps/standalone/close.c (__close): Likewise. + * sysdeps/standalone/write.c (__libc_write): Likewise. + (__write): Add libc_hidden_weak. + * sysdeps/standalone/read.c (__read): Likewise. + (__libc_read): Add libc_hidden_def. + * sysdeps/unix/grantpt.c (grantpt): Remove INTUSE. + * sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def. + * sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise. + * sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise. + * sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise. + * sysdeps/unix/bsd/poll.c (__poll): Likewise. + * sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise. + * sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise. + * sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid, + __GI___sigaction): Add. + * sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def. + * sysdeps/unix/inet/syscalls.list (__GI___send): Add. + * sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def. + * sysdeps/unix/sparc/pipe.S (__pipe): Likewise. + * sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid, + __GI___setpgid): Add. + * sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def. + Remove undef and INTDEF. + * sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise. + * sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise. + * sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def. + * sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise. + * sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise. + * sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise. + * sysdeps/unix/sysv/aix/poll.c (__poll): Likewise. + * sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise. + * sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise. + * sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise. + * sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise. + * sysdeps/unix/sysv/aix/select.c (__select): Likewise. + * sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise. + * sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64, + __GI___statfs, __GI___send): Add. + * sysdeps/unix/sysv/linux/alpha/select.S (__select): Add + libc_hidden_ver resp. libc_hidden_def. + * sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize): + Likewise. Remove undef and INTDEF. + * sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64, + __GI___statfs, __GI___send): Add. + * sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend): + Likewise. + * sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add + libc_hidden_ver resp. libc_hidden_def. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64, + __GI___send): Add. + * sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction): + Add libc_hidden_weak. + * sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend): + Add libc_hidden_def. + * sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add. + * sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver + resp. libc_hidden_def. + * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise. Remove + INTDEF. + * sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize): + Likewise. Remove undef. + * sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add. + * sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize): + Likewise. Remove undef and INTDEF. + * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list + (__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend): + Add libc_hidden_def. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64, + __GI___statfs): Add. + * sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise. + * sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def. + Remove undef and INTDEF. + * sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def. + * sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add + libc_hidden_def. + * sysdeps/unix/sysv/linux/send.S (__send): Likewise. + * sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add + libc_hidden_weak. + * sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add + libc_hidden_def. + * sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise. + * sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise. + * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction): + Add. + * sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add + libc_hidden_def. Remove undef and INTDEF. + * sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise. + * sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add + libc_hidden_def. + * sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise. + * sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise. + * sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise. + * sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def. + Remove undef and INTDEF. + * configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for + broken visibility attribute handling. + * config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add. + +2002-08-02 Ulrich Drepper <drepper@redhat.com> + + * locale/iso-639.def: Add entries for Venda and Nothern Sotho. + Reported by Dwayne Bailey <dwayne@obsidian.co.za>. + + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Adapt + previous patch. + +2002-06-29 Todd Fries <todd@openbsd.org> + + * resolv/gethnamaddr.c (gethostbyaddr): Try ip6.int if ip6.arpa fails. + +2002-08-02 Jakub Jelinek <jakub@redhat.com> + + * include/errno.h: Don't include tls.h if _ISOMAC is defined. + +2002-07-30 Roland McGrath <roland@redhat.com> + + * resolv/resolv.h (_res): Define macro unconditionally. + [! _LIBC_REENTRANT] (_res): Move this conditional decl to ... + * include/resolv.h: ... here. + [USE_TLS && HAVE___THREAD] (_res): #undef it and declare + as a __thread variable. + * resolv/res_libc.c [USE_TLS && HAVE___THREAD] (_res): Define it as + a __thread variable instead of a global. + * resolv/res_data.c [_LIBC]: Don't #undef _res. + + * include/errno.h: Include <tls.h> to make sure USE_TLS defined by the + time we test it. + + * intl/loadmsgcat.c [__GNUC__]: #undef alloca before defining it. + + * malloc/malloc.c [_LIBC]: Include <string.h> instead of using local + decls of memset and memcpy. + + * sysdeps/generic/sysdep.h (END): Conditionalize on [__ASSEMBLER__]. + * sysdeps/unix/sysv/linux/i386/sysdep.h (L): Likewise. + + * elf/dl-load.c (_dl_map_object_from_fd): Comment fix. + + * sysdeps/generic/bits/libc-tsd.h [USE_TLS && HAVE___THREAD] + (__libc_tsd_define): Define using __thread. + + * sunrpc/rpc_thread.c: Use __libc_tsd_define. + (__rpc_thread_variables): Use __libc_tsd_get. + (__rpc_thread_destroy): Use __libc_tsd_get instead of calling + __rpc_thread_variables, which might allocate what we're about to free. + + * inet/herrno.c [USE_TLS && HAVE___THREAD] (h_errno): Define as a + thread-local variable. + * resolv/netdb.h (h_errno): Define macro unconditionally. + [_LIBC] (__set_h_errno): Macro moved to ... + * include/netdb.h: ... here. + [USE_TLS && HAVE___THREAD] (h_errno): Declare __thread variable. + [USE_TLS && HAVE___THREAD] (__set_h_errno): Define using that. + [! _LIBC_REENTRANT]: #undef h_errno here. + + * include/errno.h: Protect from multiple inclusion. + + * misc/sys/select.h (__NFDBITS, __FDELT, __FDMASK): #undef these + before defining them, since Linux's <linux/posix_types.h> might have + defined them. + +2002-08-02 Jakub Jelinek <jakub@redhat.com> + + * malloc/malloc.c (public_cALLOc): Check for overflow on + multiplication. + * sunrpc/xdr_array.c (xdr_array): Likewise. + * sunrpc/rpc/types.h (mem_free): Add comment. + Patch by Solar Designer <solar@openwall.com>. + +2002-08-02 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_SET_THREAD_AREA_SYSCALL): Define. + +2002-08-01 Roland McGrath <roland@redhat.com> + + * libio/fileops.c (_IO_file_sync_mmap): New function. + (_IO_file_jumps_mmap): Use it. + (_IO_file_underflow_mmap): Rewritten. If after EOF or fflush, + repeat the stat check and resize the mapped buffer as necessary. + +2002-07-31 Roland McGrath <roland@redhat.com> + + * libio/fileops.c (decide_maybe_mmap): New static function. + Code taken from libio/iofopen.c:__fopen_maybe_mmap to try to + mmap the file contents. Then switch the jump tables to the mmap + tables if it worked, or the vanilla file tables if not. + (_IO_file_underflow_maybe_mmap): New function. + (_IO_file_seekoff_maybe_mmap): New function. + (_IO_file_xsgetn_maybe_mmap): New function. + (_IO_file_jumps_maybe_mmap): New variable, jump table using those. + * libio/libioP.h: Declare those. + * libio/wfileops.c (_IO_wfile_underflow_maybe_mmap): New function. + (_IO_wfile_jumps_maybe_mmap): New variable, jump table using that. + * libio/iofopen.c (__fopen_maybe_mmap): Don't try to mmap here. + If the stream is read-only, set its jump tables to those new ones. + * libio/iofdopen.c (_IO_new_fdopen) [_G_HAVE_MMAP]: Set the initial + jump tables to the maybe_mmap ones, and don't call __fopen_maybe_mmap. + We need the tables set before _IO_file_attach. + + * libio/tst-mmap-eofsync.c: New file. + * libio/tst-mmap-fflushsync.c: New file. + * libio/bug-mmap-fflush.c: New file. + * libio/tst-mmap2-eofsync.c: New file. + * libio/Makefile (tests): Add them. + + * libio/wfileops.c (_IO_wfile_underflow_mmap): Don't set EOF bit when + _IO_file_underflow_mmap fails, it already set the appropriate bit. + +2002-07-31 Jeff Bailey <jbailey@gnu.org> + + * libio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr): + Declarations moved to <bits/sys_errlist.h>. Include that file. + * libio/Makefile (headers): Add bits/sys_errlist.h to the list. + * sysdeps/generic/bits/sys_errlist.h: New file. This does *not* + declare sys_errlist and sys_nerr. + * sysdeps/unix/sysv/linux/bits/sys_errlist.h: New file. Does + provide declarations. + +2002-07-31 Roland McGrath <roland@redhat.com> + + * elf/rtld.c (dl_main): Fix typo in error message. + +2002-07-31 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): __fxstat -> __fxstat64, + __xstat -> __xstat64, __lseek -> __libc_lseek64. Completes 2002-06-09 + sysdeps/mach/hurd/dl-sysdep.c change. + +2002-07-28 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/configure.in: Check /lib/modules/`uname + -r`/build/include for kernel headers. + + * po/fi.po: New file. + +2002-07-15 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (static_nss): Set to `yes' if --disable-shared. + +2002-07-23 Bruno Haible <bruno@clisp.org> + + * intl/loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN + is set. + +2002-07-25 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h: New file. + * sysdeps/unix/sysv/linux/ia64/profil-counter.h: Fix profil_counter + arguments. + +2002-07-25 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/alpha/adjtime.c (__adjtimex_internal): Add + alias. + +2002-07-21 Bruno Haible <bruno@clisp.org> + + * intl/libintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro. + * intl/gettext.h (struct mo_file_header): New fields n_sysdep_segments, + sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset, + trans_sysdep_tab_offset. + (struct sysdep_segment): New type. + (struct sysdep_string): New type. + (SEGMENTS_END): New macro. + * intl/gettextP.h (struct sysdep_string_desc): New type. + (struct loaded_domain): New fields malloced, n_sysdep_strings, + orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields + orig_tab, trans_tab, hash_tab to const pointers because they point + into read-only memory. + * intl/loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h. + (PRI*): Define fallback values. + (get_sysdep_segment_value): New function. + (_nl_load_domain): Distinguish major and minor revision parts. Add + support for minor revision 1 with system dependent strings. + (_nl_unload_domain): Also free the 'malloced' field. + * intl/dcigettext.c (_nl_find_msg): Remove test for domain->hash_size, + now done in loadmsgcat.c. Add support for system dependent strings. + +2002-07-16 Stepan Kasal <kasal@math.cas.cz> + + * posix/bug-regex7.c: New file. + * posix/bug-regex8.c: New file. + * posix/Makefile (tests): Add bug-regex7 and bug-regex8. + +2002-07-16 Stepan Kasal <kasal@math.cas.cz> + + * posix/bug-regex4.c (main): Fix typos. + * posix/bug-regex6.c (main): Likewise. + +2002-07-27 Ulrich Drepper <drepper@redhat.com> + + * posix/bug-regex6.c (main): Fix warnings. + + * iconvdata/Makefile (CPPFLAGS): Add NOT_IN_libc. + + * iconv/iconv_prog.c (main): Improve error message for the cases + where -t and/or -f parameter are missing. + +2002-07-10 Stepan Kasal <kasal@math.cas.cz> + + * posix/regexec.c (re_match): Reorganize to remove duplicate code. + (re_search): Likewise. + (re_match_2): Likewise. + (re_search_2): Likewise. + (re_search_stub): New function. + (re_search_2_stub): New function. + * regcomp.c (re_compile_pattern): Typo in a comment fixed. + +2002-07-10 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regex_internal.h: Add new member STOP to struct re_string_t. + (re_string_eoi): Use STOP instead of LEN. + * posix/regex_internal.c (re_string_allocate): Initialize pstr->len. + (re_string_construct): Likewise. + (re_string_reconstruct): Adjust pstr->stop like pstr->len. + * posix/regexec.c (re_search_internal): Add a new argument STOP + so that it can handle the argument STOP of re_search_2 and re_match_2 + correctly. + (regexec): Adapt to new I/F of re_search_internal. + (re_search_stub): Likewise. + +2002-07-25 Ulrich Drepper <drepper@redhat.com> + + * sunrpc/clnt_gen.c: Don't include <sys/errno.h>. + + * elf/dl-minimal.c: Remove definition of __assert_perror_fail. + + * sysdeps/wordsize-32/divdi3.c: Define __divdi3_internal. + * sysdeps/wordsize-32/lldiv.c: Make gcc use __divdi3_internal instead + of __divdi3. + + * sysdeps/unix/sysv/linux/adjtime.c: Use __adjtimex_internal. + * sysdeps/unix/sysv/linux/ntp_gettime.c: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Add __adjtimex_internal + alias for adjtimex syscall. + + * elf/dl-minimal.c: Define __assert_fail_internal. + * assert/assert.c: Likewise. + * include/assert.h: Define __assert_file macro if !SHARED and not + NOT_IN_libc. + + * iconv/Makefile: Define NOT_IN_libc for objects in standalone + programs. + * locale/Makefile: Likewise. + * nscd/Makefile: Likewise. + * catgets/Makefile: Likewise. + +2002-07-24 Ulrich Drepper <drepper@redhat.com> + + * libio/fileops.c (_IO_file_seekoff_mmap): Do use fp->_offset to + compute current position. + + * stdio-common/tst-fseek.c (main): Improve error messages. + + * libio/tst-freopen.c (main): Remove unused variable. + + * libio/fileops.c (_IO_file_seekoff_mmap): Set fp->_offset after + succesful seek call. Simplify error checking. + +2002-07-25 Jakub Jelinek <jakub@redhat.com> + + * config.h.in: Use __ASSEMBLER__ test macro not ASSEMBLER. + * sysdeps/ia64/fpu/libm_support.h: Likewise. + +2002-07-19 Roland McGrath <roland@frob.com> + + * hurd/hurdsig.c (_hurdsig_getenv): Always return null if + __libc_enable_secure is set. + +2002-07-24 Roland McGrath <roland@frob.com> + + Added <ifaddrs.h> interface with functions `getifaddrs', `freeifaddrs'. + This implementation supports only IPv4. + * inet/ifaddrs.h: New file. + * sysdeps/generic/ifaddrs.c: New file. + * sysdeps/gnu/ifaddrs.c: New file. + * inet/test-ifaddrs.c: New file. + * inet/Makefile (routines): Add ifaddrs. + (headers): Add ifaddrs.h here. + (tests): Add test-ifaddrs. + * inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs. + + * resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit + socket call to get an AF_INET socket, instead of using __opensock. + The SIOCGIFNETMASK ioctl will work only with a PF_INET socket. + + * sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD, + if not -1 use it instead of calling __opensock. + * sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise. + * sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it. + * resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument. + + * sysdeps/mach/hurd/ifreq.h: New file. + * sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS. + * sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise. + * resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller. + + * libio/fileops.c (_IO_file_seekoff_mmap): Don't rely on FP->_offset, + which gets moved around. Calculate size of mmap'd buffer instead. + +2002-07-24 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/arm/brk.S: Improve schedule. + * sysdeps/unix/sysv/linux/arm/socket.S (PUSHARGS_1): Use more + efficient instruction. + (__socket): Optimize return sequence. + +2002-07-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/opensock.c (__opensock): Prefer inet + sockets on old kernels. + +2002-07-22 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/sysv/linux/arm/errlist.c: Remove extra weak alias + definiton of _old_sys_nerr. Define _old_sys_errlist as strong + alias. + +2002-07-24 Ulrich Drepper <drepper@redhat.com> + + * locale/hashval.h: Make more self-contained by defining LONG_BITS. + * locale/programs/simple-hash.c: Remove LONG_BITS definition. + + * locale/programs/locarchive.c (add_locale_to_archive): Correct + test to detect duplicate locales. + + * libio/fileops.c (_IO_new_file_seekoff): Fail if relative + position would be before beginning of file. + (_IO_file_seekoff_mmap): Likewise. + * libio/Makefile (tests): Add bug-fseek. + * libio/bug-fseek.c: New file. + + * intl/explodename.c: Remove support for CEN-style locale variables. + It was never used and shouldn't be since it's not portable. + * intl/finddomain.c: Likewise. + * intl/l10nflist.c: Likewise. + * intl/loadinfo.h: Likewise. + * locale/findlocale.c: Likewise. + +2002-07-24 Roland McGrath <roland@frob.com> + + * libio/fileops.c (_IO_file_seekoff_mmap): When just examining the + position, calculate it to take into account an active pushback buffer. + + * libio/Makefile (tests): Add bug-ungetc. + * libio/bug-ungetc.c: New file. + +2002-07-23 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/libc-tls.c: New file. + * csu/Makefile (routines): Add libc-tls. + (static-only-routines): Add libc-tls. + * elf/dl-support.c (_dl_phdr): New variable. + (_dl_phnum): New variable. + (_dl_aux_init): Initialize _dl_phdr and _dl_phnum from aux vector. + * sysdeps/generic/libc-start.c (__libc_start_main): Reorganize code + for !SHARED. First look through auxiliary vector. If TLS always + call __pthread_initialize_minimal. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Make sure size argument + in mmap call is never zero. + +2002-07-23 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/fpu/s_copysign.S: Use optimized version. + * sysdeps/x86_64/fpu/s_copysignf.S: Likewise. + +2002-07-22 Ulrich Drepper <drepper@redhat.com> + + * libio/tst-eof.c: Rewrite to let test-skeleton.c deal with + creation and removal of the temp file. + + * libio/bug-rewind.c: Use test skeleton. Use create_temp_file for + file creation. + * test-skeleton.c (create_temp_file): New function. + +2002-07-22 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/dl-machine.h (elf_machine_load_address): Use + local label. + +2002-07-21 Roland McGrath <roland@frob.com> + + * wcsmbs/Makefile (strtox-CFLAGS): New variable, + put -I../include before -I../stdlib so we get the right errno.h et al. + (CFLAGS-wcstod.c): Use that variable instead of -I../stdlib. + (CFLAGS-wcstof.c): Likewise. + (CFLAGS-wcstold.c): Likewise. + (CFLAGS-wcstod_l.c): Likewise. + (CFLAGS-wcstof_l.c): Likewise. + (CFLAGS-wcstold_l.c): Likewise. + +2002-07-19 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/errnos.awk: Remove __set_errno defn from output. + +2002-07-20 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ldsodefs.h (HAVE_AUX_XID): Define if + __ASSUME_AT_XID is defined. + * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_AT_XID): Define + for 2.4.1 and up. + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Optimize handling + of AT_UID, AT_EUID, AT_GID, and AT_EGID. + + * wcsmbs/Makefile (CFLAGS-wcstod.c): Add -I../stdlib. + (CFLAGS-wcstof.c): Likewise. + (CFLAGS-wcstold.c): Likewise. + (CFLAGS-wcstod_l.c): Likewise. + (CFLAGS-wcstof_l.c): Likewise. + (CFLAGS-wcstold_l.c): Likewise. + +2002-07-18 Jakub Jelinek <jakub@redhat.com> + + * resource/sys/resource.h (__rlimit_resource_t, __rusage_who_t, + __priority_which_t): Always typedef to int for C++. + +2002-07-19 Ulrich Drepper <drepper@redhat.com> + + * configure.in: Add test for __thread support in compiler. + * config.h.in: Add HAVE___THREAD. + * Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h. + * include/sys/errno.h: Moved to... + * stdlib/sys/errno.h: ...here. New file. + * stdlib/errno.h: New file. Moved from... + * include/errno.h: ...here. Changed into an internal header defining + libc-local things like __set_errno. + * stdlib/Makefile (headers): Add errno.h, sys/errno.h, and + bits/errno.h. + * elf/dl-minimal.c: Include <tls.h>. Define errno as thread-local + variable if USE_TLS && HAVE___THREAD. Don't define __errno_location + either. + * elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so + from... + (_dl_start_final): ...here. Add code to initialize tls elements from + bootstrap_map. + * sysdeps/generic/errno-loc.c: Define errno as thread-local variable + if USE_TLS && HAVE___THREAD. + * sysdeps/generic/bits/errno.h: Remove __set_errno definition. + * sysdeps/mach/hurd/bits/errno.h: Likewise. + * sysdeps/standalone/arm/bits/errno.h: Likewise. + * sysdeps/standalone/bits/errno.h: Likewise. + * sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise. + * sysdeps/unix/sysv/aix/bits/errno.h: Likewise. + * sysdeps/unix/sysv/hpux/bits/errno.h: Likewise. + * sysdeps/unix/sysv/linux/bits/errno.h: Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise. + * sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise. + * sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't + use GL(dl_rtld_map), use map parameter. + * sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise. + * sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if + USE_TLS && HAVE___THREAD. + * sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG + definitions. If USE_TLS && HAVE___THREAD store errooor value using + TLS code sequence. + * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. + + * sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno. + * sysdeps/unix/sysv/linux/grantpt.c: Likewise. + * sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise. + * sysdeps/unix/sysv/linux/msgctl.c: Likewise. + * sysdeps/unix/sysv/linux/readv.c: Likewise. + * sysdeps/unix/sysv/linux/writev.c: Likewise. + +2002-07-17 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Fix MS_SYNC and + MS_INVALIDATE values. + +2002-07-17 Andreas Schwab <schwab@suse.de> + Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/pread.c: Sign extend offset. + * sysdeps/unix/sysv/linux/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pread.c: Likewise. + * sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise. + +2002-07-01 H.J. Lu <hjl@gnu.org> + + * elf/circleload1.c (load_dso): Call "circlemod1" and check + return value. + + * elf/circlemod1.c (circlemod1): Return int. + * elf/circlemod2.c (circlemod2): Likewise. + * elf/circlemod2a.c (circlemod2): Likewise. + * elf/circlemod3.c (circlemod3): Likewise. + (circlemod3a): A new function. + +2002-07-16 Ulrich Drepper <drepper@redhat.com> + + * catgets/tst-catgets.c (main): Don't expect results for + untranslated messages. + + * glibcbug.in: Fix little typo. Remove STDIO. + + * config.h.in: Fail if __FAST_MATH__ is defined. + * math/Makefile (CPPFLAGS-test-ifloat.c): Also define TEST_FAST_MATH. + (CPPFLAGS-test-idouble.c): Likewise. + (CPPFLAGS-test-ildouble.c): Likewise. + +2002-07-15 Ulrich Drepper <drepper@redhat.com> + + * intl/tst-gettext.sh: Pass -f option to msgfmt. + * intl/tst-gettext.c: Correctly handle untranslated messages in + positive tests. + + * po/de.po: Update from translation team. + +2002-07-02 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/atomicity.h: Don't include <sgidefs.h>. Always + use ll/sc. + * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. + + * sysdeps/unix/sysv/linux/configure.in: Set arch_minimum_kernel + to 2.4.0 for mips. + +2002-07-15 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object_from_fd): If loaded object uses + TLS fail if USE_TLS is not defined. + + * libio/wfileops.c (_IO_wfile_seekoff): Reposition wide pointers + and adjust state for seek position. [PR libc/4070] + * libio/Makefile (tests): Add bug-rewind. + * libio/bug-rewind.c: New file. + +2002-07-12 Philip Blundell <philb@gnu.org> + + * sysdeps/generic/backtrace.c (FIRST_FRAME_POINTER): New macro. + (__backtrace): Use it. + * sysdeps/arm/frame.h (FIRST_FRAME_POINTER): Define. [PR libc/2632] + +2002-07-12 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/dl-machine.h (elf_machine_rel): Don't handle + R_ARM_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only check + for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined. + (elf_machine_rela): Remove unused variable. + + * sysdeps/unix/sysv/linux/arm/Makefile [subdir=elf] + (sysdep-rtld-routines, sysdep_routines, sysdep-dl-routines): Don't + define. + +2002-07-12 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/gconv-modules: Add aliases for ISO-8859-11. + +2002-07-14 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/bits/link.h: Add biarch support. + +2002-07-13 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/mips/register-dump.h (register_dump): + Use correct indices. + Patch by Eliot Dresselhaus <eliot@ayrnetworks.com>. + +2002-07-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/bits/byteswap.h: Unified 31/64 bit byteswap.h. + * sysdeps/s390/s390-32/bits/byteswap.h: Remove. + * sysdeps/s390/s390-64/bits/byteswap.h: Remove. + * sysdeps/s390/bits/link.h: Unified 31/64 bit link.h. + * sysdeps/s390/s390-32/bits/link.h: Remove. + * sysdeps/s390/s390-64/bits/link.h: Remove. + * sysdeps/s390/bits/setjmp.h: Unified 31/64 bit setjmp.h. + * sysdeps/s390/s390-32/bits/setjmp.h: Remove. + * sysdeps/s390/s390-64/bits/setjmp.h: Remove. + * sysdeps/s390/bits/wordsize.h: New file. + * sysdeps/unix/sysv/linux/s390/bits/elfclass.h: Unified 31/64 bit + elfclass.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/elfclass.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Unified 31/64 bit fcntl.h. + * sysdeps/unix/sysv/linux/s390/s390-32/bits/fcntl.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/fcntl.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/ipc.h: Unified 31/64 bit ipc.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/ipc.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/mman.h: Unified 31/64 bit mman.h. + * sysdeps/unix/sysv/linux/s390/s390-32/bits/mman.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/mman.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/msq.h: Unified 31/64 bit msq.h. + * ysdeps/unix/sysv/linux/s390/s390-64/bits/msq.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/resource.h: Unified 31/64 bit + resource.h. + * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/sem.h: Unified 31/64 bit sem.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sem.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/shm.h: Unified 31/64 bit shm.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/shm.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Unified 31/64 bit + sigaction.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/siginfo.h: Unified 31/64 bit + siginfo.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/siginfo.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/sigstack.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/socket.h: Unified 31/64 bit + socket.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/stat.h: Unified 31/64 bit stat.h. + * sysdeps/unix/sysv/linux/s390/s390-32/bits/stat.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/stat.h: Remove. + * sysdeps/unix/sysv/linux/s390/bits/types.h: Unified 31/64 bit types.h. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/types.h: Remove. + * sysdeps/unix/sysv/linux/s390/net/route.h: New file. + * sysdeps/unix/sysv/linux/s390/sys/procfs.h: Unified 31/64 bit + procfs.h. + * sysdeps/unix/sysv/linux/s390/s390-32/sys/procfs.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/procfs.h: Remove. + * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Unified 31/64 bit + ucontext.h. + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Remove. + +2002-07-11 Ulrich Drepper <drepper@redhat.com> + + * Versions.def (libc): Add GLIBC_2.3. + * stdlib/Versions [libc] (GLIBC_2.3): Add realpath. + * stdlib/canonicalize.c: Add compatibility version for realpath + and make new code available in GLIBC_2.3. + +2002-07-06 Bruno Haible <bruno@clisp.org> + + * malloc/hooks.c (public_gET_STATe): Access max_total_mem in mp_. + +2002-07-11 Ulrich Drepper <drepper@redhat.com> + + * resolv/res_hconf.c (_res_hconf_init): Move code into new + function do_init. Use __libc_once. + (do_init): New function. + + * iconvdata/iso8859-11.h: Removed. + * iconvdata/Makefile (gen-8bit-gap-modules): Add iso8859-11. + (distribute): Remove iso8859-11.h. + * iconvdata/tst-tables.sh: Add ISO-8859-11. + + * stdio-common/vfscanf.c (inchar): Restore errno from previous + underflow operation if c == (W)EOF. + +2002-07-03 Jakub Jelinek <jakub@redhat.com> + + * stdio-common/printf_fp.c (__printf_fp): If _FPIO_CONST_SHIFT is + non-zero, adjust exponent. + * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfl, erfl, __erfcl, erfcl): + Remove NO_LONG_DOUBLE aliases. + * sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l, expm1l): Likewise. + * sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl, log1pl): Likewise. + (__log1pl): Raise divide by zero and invalid exceptions when needed. + * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Special case + 1**y and -1**+-Inf. + * sysdeps/ieee754/ldbl-128/ldbl2mpn.c (__mpn_extract_long_double): + Fix BITS_PER_MP_LIMB 32 extraction. + * sysdeps/ieee754/ldbl-128/e_log2l.c (__ieee754_log2l): Don't raise + exceptions for qNaNs. + * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Likewise. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (__ieee754_lgamma_r): + Raise exceptions when needed. Don't recurse unnecessarily. + Special case 1.0L and 2.0L arguments to avoid -0.0L as result. + * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_y0l): Don't raise + exceptions for qNaNs. + * sysdeps/ieee754/ldbl-128/s_remquol.c (__remquol): Make qs 64-bit + to fix *quo return value sign. + * sysdeps/ieee754/ldbl-128/e_gammal_r.c (__ieee754_gamma_r): Special + case -Inf argument. + * soft-fp/op-4.h (_FP_FRAC_CLZ_4): Fix a pasto. + +2002-07-01 Jakub Jelinek <jakub@redhat.com> + + * libio/tst-eof.c (do_test): Remove unused ch and tm variables. + * iconvdata/iso-2022-jp-3.c (EMIT_SHIFT_TO_INIT): Kill warnings if + -DNDEBUG. + +2002-07-10 Ulrich Drepper <drepper@redhat.com> + + * malloc/hooks.c (realloc_check): If mremap succeeds actually use + the result. + + * sysdeps/i386/i486/bits/string.h: Add early clobber for "a" + output parameter. Reported by Denis Zaitsev <zzz@cd-club.ru>. + + * Versions.def (libthread_db): Add GLIBC_2.3. + +2002-07-09 Jakub Jelinek <jakub@redhat.com> + + * libio/freopen.c (freopen): Reset jump tables, use mmap stdio for the + new stream if possible. + * libio/freopen64.c (freopen64): Likewise. + * libio/Makefile (tests): Add tst-freopen. + * libio/tst-freopen.c: New file. + +2002-07-03 Jakub Jelinek <jakub@redhat.com> + + * libio/stdio.h (obstack_printf): Add format attribute. + (obstack_vprintf): Likewise. + +2002-07-04 Jakub Jelinek <jakub@redhat.com> + + * posix/regex_internal.h (re_token_t): Shrink the structure to 8 + resp. 16 bytes on 32-bit resp. 64-bit platforms. + (re_charset_t, re_string_t): Reorder structure members for 64-bit + architectures. + +2002-07-04 Jakub Jelinek <jakub@redhat.com> + + * posix/regcomp.c (re_compile_internal): Move clearing of dfa... + (init_dfa): ...here. + +2002-07-05 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (parse_sub_exp): Add nodes OP_OPEN_SUBEXP and + OP_CLOSE_SUBEXP at both ends of sub expressions instead of SUBEXP + nodes in parse trees. + (calc_first): Fix the Definition of `firsts' of OP_OPEN_SUBEXP + and OP_CLOSE_SUBEXP, and remove the definition of SUBEXP. + (calc_epsdest): Treat OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP as the + nodes which can epsilon transit. + * posix/regex_internal.h: Add OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP + to IS_EPSILON_NODE macro. + * posix/regexec.c (update_regs): New function to update registers + by refering OP_OPEN_SUBEXP and OP_CLOSE_SUBEXP nodes. + (proceed_next_node): Use the entities of the nodes to determine + whether the node can transit to. + (set_regs): Use update_regs function to update registers. + +2002-07-03 Jakub Jelinek <jakub@redhat.com> + + * posix/bug-regex4.c (main): Remove duplicate setlocale. + * posix/bug-regex6.c: New file. + * posix/Makefile (tests): Add bug-regex6. + (bug-regex6-ENV): Set LOCPATH. + +2002-07-10 Ulrich Drepper <drepper@redhat.com> + + * Versions.def [libpthread]: Add GLIBC_2.2.6. + * posix/Versions [libc] (GLIBC_2.2.6): Add __nanosleep. + +2002-07-06 Bruno Haible <bruno@clisp.org> + + * sysdeps/unix/sysv/sysv4/bits/sigset.h (__NSSBITS): Correct value. + +2002-07-06 Bruno Haible <bruno@clisp.org> + + * include/sys/socket.h (__libc_sendto, __libc_recvfrom): New + declarations. + + * sysdeps/i386/fpu/libm-test-ulps: Add some ulps for AMD K7. + + * rt/Makefile (tests): Don't add tst-aio* in a single-threaded build. + + * sysdeps/unix/bsd/sun/sunos4/bits/utsname.h: Test for _SYS_UTSNAME_H, + not _UTSNAME_H. + * sysdeps/unix/bsd/ultrix4/bits/utsname.h: Likewise. + + * sysdeps/generic/bits/stropts.h: Protect against direct inclusion. + * sysdeps/generic/bits/ustat.h: Likewise. + + * sysdeps/unix/sysv/linux/bits/statvfs.h (ST_NODIRATIME): Set to 2048. + +2002-07-08 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/elf/initfini.c (__asm__): Call call_gmon_start. + +2002-07-08 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/fpu/s_fdiml.S: Fix wrong register name. + +2002-07-06 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/fpu/bits/mathinline.h: New file. + * sysdeps/x86_64/fpu/s_copysign.S: New file. + * sysdeps/x86_64/fpu/s_copysignf.S: New file. + * sysdeps/x86_64/fpu/s_copysignl.S: New file. + * sysdeps/x86_64/fpu/s_finitel.S: New file. + * sysdeps/x86_64/fpu/s_fmax.S: New file. + * sysdeps/x86_64/fpu/s_fmaxf.S: New file. + * sysdeps/x86_64/fpu/s_fmaxl.S: New file. + * sysdeps/x86_64/fpu/s_fmin.S: New file. + * sysdeps/x86_64/fpu/s_fminf.S: New file. + * sysdeps/x86_64/fpu/s_fminl.S: New file. + +2002-06-05 Brian Youmans <3diff@gnu.org> + + * sysdeps/ia64/fpu/e_acos.S: Added text of Intel license. + * sysdeps/ia64/fpu/e_acosf.S: Likewise. + * sysdeps/ia64/fpu/e_acosl.S: Likewise. + * sysdeps/ia64/fpu/e_asin.S: Likewise. + * sysdeps/ia64/fpu/e_asinf.S: Likewise. + * sysdeps/ia64/fpu/e_asinl.S: Likewise. + * sysdeps/ia64/fpu/e_atan2.S: Likewise. + * sysdeps/ia64/fpu/e_atan2f.S: Likewise. + * sysdeps/ia64/fpu/e_cosh.S: Likewise. + * sysdeps/ia64/fpu/e_coshf.S: Likewise. + * sysdeps/ia64/fpu/e_coshl.S: Likewise. + * sysdeps/ia64/fpu/e_exp.S: Likewise. + * sysdeps/ia64/fpu/e_expf.S: Likewise. + * sysdeps/ia64/fpu/e_fmod.S: Likewise. + * sysdeps/ia64/fpu/e_fmodf.S: Likewise. + * sysdeps/ia64/fpu/e_fmodl.S: Likewise. + * sysdeps/ia64/fpu/e_hypot.S: Likewise. + * sysdeps/ia64/fpu/e_hypotf.S: Likewise. + * sysdeps/ia64/fpu/e_hypotl.S: Likewise. + * sysdeps/ia64/fpu/e_log.S: Likewise. + * sysdeps/ia64/fpu/e_logf.S: Likewise. + * sysdeps/ia64/fpu/e_pow.S: Likewise. + * sysdeps/ia64/fpu/e_powf.S: Likewise. + * sysdeps/ia64/fpu/e_powl.S: Likewise. + * sysdeps/ia64/fpu/e_remainder.S: Likewise. + * sysdeps/ia64/fpu/e_remainderf.S: Likewise. + * sysdeps/ia64/fpu/e_remainderl.S: Likewise. + * sysdeps/ia64/fpu/e_scalb.S: Likewise. + * sysdeps/ia64/fpu/e_scalbf.S: Likewise. + * sysdeps/ia64/fpu/e_scalbl.S: Likewise. + * sysdeps/ia64/fpu/e_sinh.S: Likewise. + * sysdeps/ia64/fpu/e_sinhf.S: Likewise. + * sysdeps/ia64/fpu/e_sinhl.S: Likewise. + * sysdeps/ia64/fpu/e_sqrt.S: Likewise. + * sysdeps/ia64/fpu/e_sqrtf.S: Likewise. + * sysdeps/ia64/fpu/e_sqrtl.S: Likewise. + * sysdeps/ia64/fpu/libm_atan2_req.S: Likewise. + * sysdeps/ia64/fpu/libm_error.c: Likewise. + * sysdeps/ia64/fpu/libm_frexp4.S: Likewise. + * sysdeps/ia64/fpu/libm_frexp4f.S: Likewise. + * sysdeps/ia64/fpu/s_frexpl.c: Likewise. + * sysdeps/ia64/fpu/s_ilogb.S: Likewise. + * sysdeps/ia64/fpu/s_ilogbf.S: Likewise. + * sysdeps/ia64/fpu/s_ilogbl.S: Likewise. + * sysdeps/ia64/fpu/s_ldexp.S: Likewise. + * sysdeps/ia64/fpu/s_ldexpf.S: Likewise. + * sysdeps/ia64/fpu/s_ldexpl.S: Likewise. + * sysdeps/ia64/fpu/s_log1p.S: Likewise. + * sysdeps/ia64/fpu/s_log1pf.S: Likewise. + * sysdeps/ia64/fpu/s_log1pl.S: Likewise. + * sysdeps/ia64/fpu/s_logb.S: Likewise. + * sysdeps/ia64/fpu/s_logbf.S: Likewise. + * sysdeps/ia64/fpu/s_logbl.S: Likewise. + * sysdeps/ia64/fpu/s_modf.S: Likewise. + * sysdeps/ia64/fpu/s_modff.S: Likewise. + * sysdeps/ia64/fpu/s_modfl.S: Likewise. + * sysdeps/ia64/fpu/s_nearbyint.S: Likewise. + * sysdeps/ia64/fpu/s_nearbyintf.S: Likewise. + * sysdeps/ia64/fpu/s_nearbyintl.S: Likewise. + * sysdeps/ia64/fpu/s_rint.S: Likewise. + * sysdeps/ia64/fpu/s_rintf.S: Likewise. + * sysdeps/ia64/fpu/s_rintl.S: Likewise. + * sysdeps/ia64/fpu/s_round.S: Likewise. + * sysdeps/ia64/fpu/s_roundf.S: Likewise. + * sysdeps/ia64/fpu/s_roundl.S: Likewise. + * sysdeps/ia64/fpu/s_scalbn.S: Likewise. + * sysdeps/ia64/fpu/s_scalbnf.S: Likewise. + * sysdeps/ia64/fpu/s_scalbnl.S: Likewise. + * sysdeps/ia64/fpu/s_significand.S: Likewise. + * sysdeps/ia64/fpu/s_significandf.S: Likewise. + * sysdeps/ia64/fpu/s_significandl.S: Likewise. + * sysdeps/ia64/fpu/s_tan.S: Likewise. + * sysdeps/ia64/fpu/s_tanf.S: Likewise. + * sysdeps/ia64/fpu/s_tanl.S: Likewise. + * sysdeps/ia64/fpu/s_trunc.S: Likewise. + * sysdeps/ia64/fpu/s_truncf.S: Likewise. + * sysdeps/ia64/fpu/s_truncl.S: Likewise. + * sysdeps/ieee754/dbl-64/doasin.c: Changed copyright notice to + reflect IBM donation of math library to FSF + * sysdeps/ieee754/dbl-64/dosincos.c: Likewise. + * sysdeps/ieee754/dbl-64/e_asin.c: Likewise. + * sysdeps/ieee754/dbl-64/e_atan2.c: Likewise. + * sysdeps/ieee754/dbl-64/e_exp.c: Likewise. + * sysdeps/ieee754/dbl-64/e_log.c: Likewise. + * sysdeps/ieee754/dbl-64/e_pow.c: Likewise. + * sysdeps/ieee754/dbl-64/e_remainder.c: Likewise. + * sysdeps/ieee754/dbl-64/e_sqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/halfulp.c: Likewise. + * sysdeps/ieee754/dbl-64/mpa.c: Likewise. + * sysdeps/ieee754/dbl-64/mpatan.c: Likewise. + * sysdeps/ieee754/dbl-64/mpatan2.c: Likewise. + * sysdeps/ieee754/dbl-64/mpexp.c: Likewise. + * sysdeps/ieee754/dbl-64/mplog.c: Likewise. + * sysdeps/ieee754/dbl-64/mpsqrt.c: Likewise. + * sysdeps/ieee754/dbl-64/mptan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_atan.c: Likewise. + * sysdeps/ieee754/dbl-64/s_sin.c: Likewise. + * sysdeps/ieee754/dbl-64/s_tan.c: Likewise. + * sysdeps/ieee754/dbl-64/sincos32.c: Likewise. + * sysdeps/ieee754/dbl-64/slowexp.c: Likewise. + * sysdeps/ieee754/dbl-64/slowpow.c: Likewise. + * sysdeps/gnu/netinet/udp.h: Added BSD copying permission notice + * sysdeps/vax/__longjmp.c: Likewise. + * sysdeps/vax/setjmp.c: Likewise. + * libio/filedoalloc.c: Fixed BSD copying permission notice to + remove advertising clause + * sysdeps/vax/htonl.s: Likewise. + * sysdeps/vax/htons.s: Likewise. + * libio/wfiledoalloc.c: Likewise. + * stdlib/random.c: Likewise. + * stdlib/random_r.c: Likewise. + * sysdeps/mach/sys/reboot.h: Likewise. + * inet/getnameinfo.c: Deleted advertising clause from Inner Net License + * sysdeps/posix/getaddrinfo.c: Likewise. + * sunrpc/des_impl.c: Updated license permission notice to Lesser + GPL and corrected pointer to point to the correct license. + +2002-07-04 Andreas Jaeger <aj@suse.de> + + * scripts/config.guess: New upstream version. + * scripts/config.sub: Likewise. + +2002-07-02 Andreas Schwab <schwab@suse.de> + + * resolv/nss_dns/dns-network.c (getanswer_r): Reduce linebuflen + in parallel to bumping up the buffer pointer. + +2002-07-01 Jakub Jelinek <jakub@redhat.com> + + * math/libm-test.inc (acos_test): Add missing L suffix for + expected result. + (cpow_test): Likewise. + * sysdeps/i386/fpu/libm-test-ulps: Adjust errors for cpow, remove + error for acos (0.0625). + +2002-06-30 Ulrich Drepper <drepper@redhat.com> + + * locale/iso-639.def: Add entry for Ganda. + * locale/programs/ld-address.c (DEFINE_LANGUAGE_CODE3): New + definition. + (address_finish): Handle entries with two letter ISO 639 code. + + * iconvdata/Makefile: Recreate gconv-modules.cache file in target + directory if it existed before. + * iconv/iconvconfig.c: Implement --prefix option. + + * math/libm-test.inc (cexp_test): Add missing L suffix for + expected result. Reported by Stephen L Moshier <steve@moshier.net>. + * sysdeps/i386/fpu/libm-test-ulps: Adjust error for cexp (0.75 + + 1.25 i). + +2002-05-29 H.J. Lu <hjl@gnu.org> + + * elf/dl-error.c (_dl_signal_cerror): Report error if ld.so debug + is turned on. + +2002-05-28 H.J. Lu <hjl@gnu.org> + + * elf/dl-deps.c (_dl_map_object_deps): Don't add objects which + are not dlopened on the dependency list of a dlopened object. + +2002-06-30 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-lookup.c (add_dependency): It is not necessary to add + dependencies if they are created between objects which are created + while processing RTLD_NOW for objects loaded as part of the same + dlopen call. + +2002-06-14 H.J. Lu <hjl@gnu.org> + + * elf/Makefile (tests): Add circleload1. + (modules-names): Add circlemod1, circlemod2, circlemod3, + circlemod1a, circlemod2a and circlemod3a. + ($(objpfx)circleload1): New target. + ($(objpfx)circleload1.out): Likewise. + ($(objpfx)circlemod1.so): Likewise. + ($(objpfx)circlemod2.so): Likewise. + ($(objpfx)circlemod1a.so): Likewise. + ($(objpfx)circlemod2a.so): Likewise. + * elf/circleload1.c: New file. + * elf/circlemod1.c: New file. + * elf/circlemod1a.c: New file. + * elf/circlemod2.c: New file. + * elf/circlemod2a.c: New file. + * elf/circlemod3.c: New file. + * elf/circlemod3a.c: New file. + +2002-06-18 Amos Waterland <apw@us.ibm.com> + + * sysdeps/pthread/aio_cancel.c (aio_cancel): Add check for invalid + file descriptor. + * sysdeps/pthread/aio_fsync.c (aio_fsync): Add check for invalid fd; + add check for fd not open for writing. + + * sysdeps/pthread/aio_suspend.c (aio_suspend): Add check for + completed element(s) and do not suspend thread if so. Patch + heavily modified by drepper. + + * rt/tst-aio7.c: New file. Regression test for problems which the + above three changes fix. + * rt/Makefile (tests): Add tst-aio7. + +2002-06-29 Ulrich Drepper <drepper@redhat.com> + + * rt/tst-aio6.c: Fix comment. + + * catgets/gencat.c (read_input_file): Handle more than one slash + at end of line correctly [PR libc/3926]. + Based on a patch by Steven Kim <steven.kim@peregrine.com>. + + * catgets/sample.SJIS: Add test case for above bug. + * catgets/test-gencat.c: Adjust test code. + * catgets/test-gencat.sh: Adjust expected results. + + * elf/do-rel.h (elf_dynamic_do_rel): Avoid overflow in computation + to skip relative relocations. + Patch by Geoff Keating <geoffk@redhat.com>. + +2002-05-26 Bruno Haible <bruno@clisp.org> + + * iconv/loop.c (STANDARD_FROM_LOOP_ERR_HANDLER): New macro. + (STANDARD_TO_LOOP_ERR_HANDLER): Renamed from STANDARD_ERR_HANDLER. + All callers changed. + * iconv/gconv_simple.c (ascii_internal_loop): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + (utf8_internal_loop): Likewise. + (ucs2_internal_loop): Likewise. + (internal_ucs2_loop): Perform error handling like in + STANDARD_FROM_LOOP_ERR_HANDLER. + * iconvdata/unicode.c (BODY for TO_LOOP): Perform error handling like + in STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error + handling. + * iconvdata/utf-16.c (BODY for TO_LOOP): Perform error handling like + in STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error + handling. + * iconvdata/utf-32.c (BODY for TO_LOOP): Perform error handling like + in STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error + handling. + * iconvdata/big5.c (BODY for FROM_LOOP): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + * iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise. + * iconvdata/8bit-gap.c (BODY for FROM_LOOP): Likewise. + * iconvdata/8bit-generic.c (BODY for FROM_LOOP): Likewise. + * iconvdata/ansi_x3.110.c (BODY for FROM_LOOP): Likewise. + * iconvdata/armscii-8.c (BODY for FROM_LOOP): Likewise. + * iconvdata/cp1255.c (BODY for FROM_LOOP): Likewise. + * iconvdata/cp1258.c (BODY for FROM_LOOP): Likewise. + * iconvdata/euc-cn.c (BODY for FROM_LOOP): Likewise. + * iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Likewise. + * iconvdata/euc-jp.c (BODY for FROM_LOOP): Likewise. + * iconvdata/euc-kr.c (BODY for FROM_LOOP): Likewise. + * iconvdata/euc-tw.c (BODY for FROM_LOOP): Likewise. + * iconvdata/big5hkscs.c (BODY for FROM_LOOP): Likewise. + * iconvdata/gb18030.c (BODY for FROM_LOOP): Likewise. + * iconvdata/gbk.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso-2022-jp-3.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso646.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso_6937-2.c (BODY for FROM_LOOP): Likewise. + * iconvdata/iso_6937.c (BODY for FROM_LOOP): Likewise. + * iconvdata/johab.c (BODY for FROM_LOOP): Likewise. + * iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise. + * iconvdata/sjis.c (BODY for FROM_LOOP): Likewise. + * iconvdata/t.61.c (BODY for FROM_LOOP): Likewise. + * iconvdata/uhc.c (BODY for FROM_LOOP): Likewise. + * iconvdata/utf-7.c (BODY for FROM_LOOP): Likewise. + * iconvdata/gbbig5.c (BODY for FROM_LOOP): Likewise. When ignoring + an error, still set result = __GCONV_ILLEGAL_INPUT. + (BODY for TO_LOOP): Likewise. + * iconvdata/ibm930.c (BODY for FROM_LOOP): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/ibm932.c: Include <dlfcn.h> and <stdint.h>. + (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error + handling. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/ibm933.c (BODY for FROM_LOOP): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/ibm935.c (BODY for FROM_LOOP): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/ibm937.c (BODY for FROM_LOOP): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/ibm939.c (BODY for FROM_LOOP): For error handling use + STANDARD_FROM_LOOP_ERR_HANDLER. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/ibm943.c: Include <dlfcn.h> and <stdint.h>. + (BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error + handling. + (BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER. + * iconvdata/gbgbk.c (BODY for FROM_LOOP): Update. + * iconvdata/iso8859-1.c (BODY for TO_LOOP): Update. + * iconvdata/tcvn5712-1.c (BODY for TO_LOOP): Update. + +2002-06-28 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/sh/dl-machine.h (elf_machine_load_address): Use local + labels in assembler instructions. + +2002-06-25 Ulrich Drepper <drepper@redhat.com> + + * libio/fileops.c (_IO_file_xsgetn_mmap): Always set EOF flag if + not enough content is available. + * libio/tst-eof.c: New file. + * libio/Makefile (tests): Add tst-eof. + + * libio/fileops.c (_IO_file_underflow_mmap): Read a single byte to + update atime. + * libio/tst-atime.c: New file. + * libio/Makefile (tests): Add tst-atime. + + * argp/argp-fmtstream.c (__argp_fmtstream_update): Avoid crash in + handling of overly long words. + +2002-06-25 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86-64/dl-machine.h (elf_machine_load_address): Rewrite + to not use 32-bit pc relative relocations. + (elf_machine_dynamic): Likewise. + +2002-06-21 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/getdents.c [__ASSUME_GETDENTS64_SYSCALL] + (__GETDENTS): Check for failed getdents64 syscall. + * dirent/Makefile (tests): Add bug-readdir1. + * dirent/bug-readdir1.c: New file. + +2002-06-17 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-lookup.c (_dl_debug_bindings): Use type_class 4 for TLS + lookups. + * elf/rtld.c (dl_main): Move TLS setup code before LD_TRACE_PRELINKING + code. Print TLS modid and offset for modules containing PT_TLS + segments. + +2002-06-09 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/i386/dl-brk.c: Move... + * sysdeps/unix/sysv/linux/dl-brk.c: ...here. + * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move... + * sysdeps/unix/sysv/linux/dl-sbrk.c: ...here. + +2002-06-07 Jakub Jelinek <jakub@redhat.com> + + * nss/getXXbyYY_r.c (NEW, NEW1): Define. + (NEW (REENTRANT_NAME)): Strong alias to INTERNAL (REENTRANT_NAME). + (REENTRANT_NAME@@GLIBC_2.1.2): Use NEW (REENTRANT_NAME). + * nss/getXXent_r.c (NEW, NEW1): Define. + (NEW (REENTRANT_GETNAME)): Strong alias to + INTERNAL (REENTRANT_GETNAME). + (REENTRANT_GETNAME@@GLIBC_2.1.2): Use NEW (REENTRANT_GETNAME). + +2002-06-21 Ulrich Drepper <drepper@redhat.com> + + * libio/fileops.c (_IO_file_setbuf_mmap): New function. + (_IO_file_jumps_mmap): Use it. + * libio/iosetvbuf.c: Don't call _IO_WSETBUF. + * libio/libioP.h: Remove _IO_wdefault_setbuf and + _IO_wdefault_setbuf_internal prorotypes. Add _IO_file_setbuf_mmap + prototype. + * libio/wfileops.c (_IO_wfile_setbuf): Removed. + (_IO_wfile_jumps_mmap): Don't use it anymore. + * libio/wgenops.c (_IO_wdefault_setbuf): Removed. + * libio/memstream.c (_IO_wmem_jumps): Use _IO_default_setbuf not + _IO_wdefault_setbuf. + * libio/vswprintf.c (_IO_wstrn_jumps): Likewise. + * libio/wstrops.c (_IO_wstr_jumps): Likewise. + * stdio-common/vfprintf.c (_IO_helper_jumps): Likewise. + +2002-06-05 Jakub Jelinek <jakub@redhat.com> + + * libio/Makefile (tests): Add tst-mmap-setvbuf. + * libio/tst-mmap-setvbuf.c: New test. + +2002-06-21 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/fpu/libm-test-ulps: Add some ulps from my P3. + +2002-06-18 Jakub Jelinek <jakub@redhat.com> + + * include/unistd.h (__fork_internal): Remove. + (__fork): Don't define to __fork_internal. + * sysdeps/mach/hurd/fork.c (__fork): Remove INTDEF. + * sysdeps/unix/sysv/aix/fork.c (__fork): Likewise. + * sysdeps/unix/sysv/linux/ia64/fork.S (__fork_internal): Remove alias. + * sysdeps/unix/sysv/linux/sparc/fork.S (__fork_internal): Likewise. + * sysdeps/unix/sysv/linux/syscalls.list (__fork_internal): Likewise. + +2002-06-20 Ulrich Drepper <drepper@redhat.com> + + * po/hr.po: New file. + +2002-06-11 Wolfram Gloger <wg@malloc.de> + + * malloc/malloc.c: Fix error path when new_heap() returns NULL. + Reported by Michael Meissner <meissner@redhat.com>. + +2002-06-20 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/getcontext.S: Fix typo. + Patch by Hans Boehm <hans_boehm@hp.com>. + +2002-06-20 Andreas Jaeger <aj@suse.de> + + * math/libm-test.inc: Use exact values as input parameters, + compute output parameters with 36 digits for 128-bit long doubles. + * sysdeps/i386/fpu/libm-test-ulps: Regenerated. + * sysdeps/x86-64/fpu/libm-test-ulps: Regenerated. + * sysdeps/ia64/fpu/libm-test-ulps: Regenerated. + +2002-06-13 Stephen L Moshier <steve@moshier.net> + + * sysdeps/ieee754/ldbl-96/s_scalbnl.c: Fix cases in which + argument or result is subnormal. + +2002-06-19 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/i386/fpu/s_remquo.S: Fix three mistakes in computing the + quotient. + * sysdeps/i386/fpu/s_remquof.S: Likewise. + * sysdeps/i386/fpu/s_remquol.S: Likewise. + + * sysdeps/hppa/dl-machine.h: Don't use multi-line string literals. + +2002-06-17 David Mosberger <davidm@hpl.hp.com> + + * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h (uc_sigmask): Fix + typo: corresponding sigcontext field is called sc_mask, not sc_sigmask. + Reported by Peter A. Buhr. + +2002-06-15 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/mmap.c (__mmap): Add a dead case that quiets a + warning. + + * sysdeps/mach/hurd/getcwd.c + (_hurd_canonicalize_directory_name_internal): unsigned int -> size_t + + * sysdeps/unix/sysv/linux/bits/ustat.h: Moved to ... + * sysdeps/generic/bits/ustat.h: ... here (was almost identical). + + * sysdeps/alpha/divrem.h: Use local label instead of global one for + jump to local subroutine. + +2002-06-14 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/Makeconfig: File moved to ... + * sysdeps/mach/hurd/Makeconfig: ... here. + +2002-06-13 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/fpu/s_finite.c: Remove INTDEF. + * sysdeps/m68k/fpu/s_finitef.c: Likewise. + * sysdeps/m68k/fpu/s_finitel.c: Likewise. + +2002-06-13 Roland McGrath <roland@frob.com> + + * hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type. + * hurd/hurdstartup.c (_hurd_startup): Likewise. + Use intptr_t instead of int for argc in stack layout. + * sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type. + (_dl_init_first): Likewise. + (_hurd_stack_setup): Likewise. + (init1): Add a cast. + * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start: go): Fix arg type. + + * sysdeps/mach/hurd/if_index.c (if_nameindex): Use size_t for AMOUNT + argument to pfinet_siocgifconf RPC. + +2002-06-13 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/fpu/s_isinf.c (INTDEFX): Define to get correct + expansion order. + +2002-06-12 Roland McGrath <roland@frob.com> + + * sysdeps/generic/tmpfile.c [USE_IN_LIBIO] (tmpfile): Don't #define + if already defined. + [USE_IN_LIBIO]: Conditionalize versioned_symbol use on + [GEN_THIS == __GT_FILE] so that tmpfile64.c's inclusion doesn't get it. + +2002-06-11 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/xstat64.c: Conditionalize entire contents of the + file on [!RTLD_STAT64]. + * sysdeps/mach/hurd/fxstat64.c: Likewise. + + * sysdeps/mach/hurd/tmpfile.c (tmpfile64): Define as alias of tmpfile. + (__fdopen): Use INTUSE. + * sysdeps/mach/hurd/tmpfile64.c: New file, empty placeholder. + + * stdio-common/tmpfile64.c: File removed. + * sysdeps/generic/tmpfile64.c: New file. + * sysdeps/generic/tmpfile.c (GEN_THIS): New macro, define to __GT_FILE + if not already defined. + (tmpfile): Use it in place of __GT_FILE. + + * include/unistd.h: Declare __chown_internal. + + * sysdeps/mach/hurd/sendfile64.c (sendfile64): Do real work here. + * sysdeps/mach/hurd/sendfile.c (sendfile): Call that. + +2002-06-09 Roland McGrath <roland@frob.com> + + Update to new Hurd RPC interfaces supporting 64-bit file sizes. + * sysdeps/mach/hurd/configure.in: Check for <hurd/version.h> with + value of HURD_INTERFACE_VERSION >= 20020609. + * sysdeps/mach/hurd/configure: Regenerated. + * shlib-versions (.*-.*-gnu-gnu.*): Set libhurduser=0.3. + * sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Rewritten to + convert a struct stat64 into a struct stat and return 0 or -1 + with errno set to EOVERFLOW. + * sysdeps/mach/hurd/statfsconv.c (statfs64_conv): Likewise + for struct statfs64 to struct statfs. + * sysdeps/mach/hurd/xstat.c (__xstat): Use converter and call ... + * sysdeps/mach/hurd/xstat64.c (__xstat64): ... this, real work here. + * sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise. + * sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise. + * sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise. + * sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise. + * sysdeps/mach/hurd/statfs.c (__statfs): Likewise. + * sysdeps/mach/hurd/statfs64.c (__statfs64): Likewise. + * sysdeps/mach/hurd/fstatfs.c (__fstatfs): Likewise. + * sysdeps/mach/hurd/fstatfs64.c (__fstatfs64): Likewise. + * sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Do real work here. + * sysdeps/mach/hurd/pwrite.c (__libc_pwrite): Call that. + * sysdeps/mach/hurd/pread64.c (__libc_pread64): Do real work here. + * sysdeps/mach/hurd/pread.c (__libc_pread): Call that. + * sysdeps/mach/hurd/lseek64.c (__libc_lseek64): Do real work here. + * sysdeps/mach/hurd/lseek.c (__libc_lseek): Call that. + * sysdeps/mach/hurd/readdir64.c (__readdir64): Do real work here. + * sysdeps/mach/hurd/readdir.c (__readdir): Call that. + * sysdeps/mach/hurd/readdir64_r.c (__readdir64_r): Do real work here. + * sysdeps/mach/hurd/readdir_r.c (__readdir64_r): Call that. + * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): + Use struct stat64 for io_stat argument. + * sysdeps/mach/hurd/readlink.c (__readlink): Likewise. + * hurd/fopenport.c (seekio): Remove EOVERFLOW check, pass POS directly + to io_seek. + * hurd/fd-read.c (_hurd_fd_read): Use loff_t for OFFSET argument. + * hurd/fd-write.c (_hurd_fd_write): Likewise. + * hurd/hurd/fd.h: Update decls. + * sysdeps/mach/hurd/getcwd.c + (_hurd_canonicalize_directory_name_internal): Use ino64_t + and struct dirent64. + * sysdeps/mach/hurd/dl-sysdep.c (open_file): Use struct stat64. + (__xstat): Renamed to __xstat64, use struct stat64 for argument. + (__fxstat): Renamed to __fxstat64, use struct stat64 for argument. + (__lseek): Renamed to __libc_lseek64, use off64_t for argument. + +2002-06-08 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/dirstream.h (struct __dirstream): Use size_t + instead of unsigned long int for __allocation and __size members. + +2002-06-09 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/i386/dl-brk.c: Move... + * sysdeps/unix/sysv/linux/dl-brk.c: ...here. + * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: Move... + * sysdeps/unix/sysv/linux/dl-sbrk.c: ...here. + +2002-06-07 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/bits/environments.h: File removed. + +2002-06-07 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/alpha/sendfile64.c: New file. + * sysdeps/unix/sysv/linux/ia64/sendfile64.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sendfile64.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list (sendfile): Remove EXTRA. + (sendfile64): Likewise. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (sendfile): Likewise. + * sysdeps/unix/sysv/linux/ia64/syscalls.list (sendfile): Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (sendfile): + Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list (sendfile): Likewise. + + * include/sys/stat.h (__fxstat64, __lxstat64): Only define if not + already defined. + +2002-06-04 Bruno Haible <bruno@clisp.org> + + * sysdeps/cris/stackinfo.h: New file. + + * sysdeps/hppa/dl-machine.h (elf_machine_rela): Cast reloc_addr + to an integer type before performing bit operations on it. + +2002-06-05 Roland McGrath <roland@frob.com> + + * sysdeps/generic/sendfile.c: Include <errno.h>. + * sysdeps/generic/sendfile64.c: Likewise. + + * io/Makefile (routines): Add sendfile and sendfile64. + (headers): Add sys/sendfile.h to the list. + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add it here. + * sysdeps/unix/sysv/linux/sys/sendfile.h: Moved to ... + * io/sys/sendfile.h: ... here. + * sysdeps/generic/sendfile.c: New file. + * sysdeps/generic/sendfile64.c: New file. + + * sysdeps/unix/sysv/linux/Versions (GLIBC_2.1, GLIBC_2.3): + Move sendfile, sendfile64 to ... + * io/Versions (GLIBC_2.1, GLIBC_2.3): ... here. + * sysdeps/mach/hurd/sendfile.c: New file. + * sysdeps/mach/hurd/sendfile64.c: New file. + + * sysdeps/mach/nanosleep.c: New file. + +2002-06-04 Roland McGrath <roland@frob.com> + + * sysdeps/alpha/elf/configure.in: New file. Check for TLS support. + * sysdeps/alpha/elf/configure: New file (generated). + +2002-06-02 Roland McGrath <roland@frob.com> + + * include/link.h: Include <tls.h> to make sure USE_TLS is defined. + +2002-06-01 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/alpha/init-first.c: New file, modified from + i386/init-first.c by Andrew M. Miklic <miklic@attglobal.net>. + +2002-05-19 Ulrich Drepper <drepper@redhat.com> + + * resolv/resolv.h (struct __res_state): Remove unused nstimes. + Add nsmap. + * resolv/res_init.c (__res_vinit): Initialize nsmap array. + Remove nstimes setting. + (res_nclose): Check all MAXNS nameservers with non-NULL nsaddrs. + * resolv/res_send.c (res_nsend): Don't close unconditionally if + there is mix of IPv6 and IPv4 nameservers. + Use nsmap array to find free slots and preserve nameserver ordering. + Fix RES_ROTATE. + +2002-05-30 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/sys/sendfile.h: It is now possible to + use this header with LFS. + + * po/sk.po: Update from translation team. + +2002-05-28 Andreas Schwab <schwab@suse.de> + + * sysdeps/generic/readelflib.c (process_elf_file): Give correct + message when finding object of wrong class. + +2002-05-28 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/wordsize-32/divdi3.c (__moddi3): Fix pasto. + Patch by <radu@netsoft.ro>. + +2002-05-30 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/Makefile [$(subdir)==misc] (sysdep_routines): + Add readahead. + * sysdeps/unix/sysv/linux/readahead.c: New file. + * sysdeps/unix/sysv/linux/syscalls.list: Add sendfile64 syscall. + * sysdeps/unix/sysv/linux/Versions: Export readahead and sendfile64. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add readahead syscall. + Add sendfile64 alias to sendfile syscall. + * sysdeps/unix/sysv/linux/ia64/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/powerpc/syscalls.list: Add s_readahead + syscall. + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Use __i686.get_pc_thunk.XX + special section for PIC register loading. + * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. + + * config.h.in: Define HAVE_HIDDEN. + * configure.in: Also define HAVE_HIDDEN if HAVE_PROTECTED is defined. + + * elf/elf.h: Correct Alpha TLS relocations according to last spec. + +2002-05-28 Roland McGrath <roland@frob.com> + + * sysdeps/mach/alpha/setfpucw.c: New file. + +2002-05-26 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/ioctl.c (__ioctl): Don't use sizeof in _IOTS. + Use integer_t instead of int for IOC_VOID case. + +2002-05-27 Alexandre Oliva <aoliva@redhat.com> + + * configure.in (DO_STATIC_NSS): Define if --disable-shared. + +2002-05-26 Bruno Haible <bruno@clisp.org> + + * iconvdata/iso-2022-jp.c (BODY for TO_LOOP): Avoid running off the + end of the ISO-8859-7 from idx table. + +2002-05-27 Ulrich Drepper <drepper@redhat.com> + + * manual/lang.texi: Fix FLT_EPSILON description [PR libc/3649]. + +2002-05-24 David S. Miller <davem@redhat.com> + + * string/bits/string2.h (memset): Do not try to optimize when + not _STRING_ARCH_unaligned if GCC will do the right thing. + +2002-05-21 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regex.c: Define `inline' as a macro into nothing for the + compilers which lack the keyword. + * posix/regex.h: (RE_SYNTAX_GNU_AWK): Remove RE_CONTEXT_INVALID_OPS + for the compatibility of gawk. + * posix/regcomp.c: Add fake implementation of isblank() for the + environments which lack the function. + Don't use free_charset() in case of non-i18n envs. + (build_range_exp): Don't use i18n related code in case of non-i18n + envs. + (build_collating_symbol): Likewise. + (build_equiv_class): Likewise. + (build_charclass): Likewise. + (re_compile_fastmap_iter): Likewise. + (parse_bracket_exp): Likewise. + (build_word_op): Likewise. + (regfree): Don't use free_charset() in case of non-i18n envs. + * posix/regex_internal.h: Remove COMPLEX_BRACKET from + re_token_type_t in case of non-i18n envs. + Don't define re_charset_t in case of non-i18n envs. + Change the type of wcs of re_string_t from wchar_t to wint_t, + since we store also WEOF. + * posix/regex_internal.c: (re_string_realloc_buffers): Change + the type of wcs of re_string_t from wchar_t to wint_t. + (re_string_reconstruct): Likewise. + (create_ci_newstate): Don't use i18n related code in case of + non-i18n envs. + (create_cd_newstate): Likewise. + +2002-05-24 Ulrich Drepper <drepper@redhat.com> + + * iconv/loop.c: Fix typo. + +2002-05-23 Jakub Jelinek <jakub@redhat.com> + + * inet/ether_line.c (ether_line): Fix a typo causing only + lower 4 bits of each ethernet address byte being assigned. + Don't modify what line points to. + * inet/tst-ether_aton.c (main): Add ether_line tests. + +2002-05-23 Marcus Brinkmann <marcus@gnu.org> + + * manual/filesys.texi: Don't make readlink example leak memory + when readlink fails. + +2002-05-20 Ulrich Drepper <drepper@redhat.com> + + * iconv/loop.c: Fix condition for defining unaligned loop. Add + some more security checks. + +2002-05-17 David S. Miller <davem@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/fork.S: Define _internal aliases. + +2002-05-16 David S. Miller <davem@redhat.com> + + * sysdeps/sparc/sparc32/dl-machine.h (LOAD_PIC_REG): Define. + (elf_machine_dynamic): Use it to force PIC register to be loaded. + (elf_machine_load_address): Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Mirror sparc32 changes. + + * sysdeps/sparc/sparc64/strncmp.S: When second argument pointer + is unaligned, do not forget to fully initialize %g1 magic value. + + * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Fix 64-bit elf + register definitions and provide 32-bit variants of structures + during 64-bit builds. + + * soft-fp/op-1.h (_FP_FRAC_CLEAR_OVERP_1): Define. + * soft-fp/op-2.h (_FP_FRAC_CLEAR_OVERP_2): Define. + * soft-fp/op-4.h (_FP_FRAC_CLEAR_OVERP_4): Define. + * soft-fp/op-common.h (_FP_PACK_CANONICAL): After rounding, if + _FP_FRAC_OVERP_X is set, use _FP_FRAC_CLEAR_OVERP_X to clear it. + (_FP_FROM_INT): Perform right shifts on unsigned integer type. + Do not clear implicit one bit here, it must be done post-rounding. + Only pad to the left using left shift if value uses less than the + available fractional bits. + +2002-05-20 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * sysdeps/powerpc/Makefile (sysdeps_routines): Use libgcc-compat + instead of cmpdi2, shdi3, fixdfdi, fixsfdi in csu dir. + (shared-only-routines): Likewise. + * sysdeps/powerpc/libgcc-compat.c: New file. + * sysdeps/wordsize-32/cmpdi2.c: Removed. + * sysdeps/wordsize-32/fixdfdi.c: Removed. + * sysdeps/wordsize-32/fixsfdi.c: Removed. + * sysdeps/wordsize-32/shdi3.c: Removed. + +2002-05-16 Bruno Haible <bruno@clisp.org> + + * MakeTAGS (libc.pot): Don't sort the output. + * po/header.pot: Update to match xgettext 0.11 output. + +2002-05-16 Bruno Haible <bruno@clisp.org> + + * MakeTAGS (subdirs): Remove duplicates. + +2002-05-19 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/errlist.c: Remove extra weak alias + definiton of _old_sys_nerr. Define _old_sys_errlist as strong + alias. + +2002-05-19 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/configure.in: Warn against an + installation in /usr/local. + +2002-05-16 Bruno Haible <bruno@clisp.org> + + * sysdeps/unix/sysv/aix/bits/ioctl-types.h: Don't use multiline + string as argument of #error. + +2002-05-15 Ulrich Drepper <drepper@redhat.com> + + * stdlib/canonicalize.c (canonicalize): Rename to __realpath and + don't define static. Remove old __realpath function. TC1 of + POSIX 2001 will allow the second parameter to be NULL. + * stdlib/test-canon.c: Comment out test for NULL as second + parameter of realpath. + + * time/offtime.c (__offtime): Set errno if overflow is detected. + + * elf/Makefile (rtld-routines): Remove dl-brk and dl-sbrk. + * sysdeps/unix/sysv/linux/Makefile (sysdep-rtld-routines): Add + dl-brk and dl-sbrk. + + * sysdeps/sparc/fpu/bits/mathinline.h (fdim): Add __THROW. + (fdimf): Likewise. + +2002-05-15 Roland McGrath <roland@frob.com> + + * hurd/report-wait.c (_S_msg_report_wait): Use mach_msg_id_t for arg. + +2002-05-12 Bruno Haible <bruno@clisp.org> + + * iconvdata/testdata/EUC-JISX0213: New file. + * iconvdata/testdata/EUC-JISX0213..UTF8: New file. + * iconvdata/testdata/SHIFT_JISX0213: New file. + * iconvdata/testdata/SHIFT_JISX0213..UTF8: New file. + * iconvdata/testdata/ISO-2022-JP-3: New file. + * iconvdata/testdata/ISO-2022-JP-3..UTF8: New file. + * iconvdata/TESTS: Add EUC-JISX0213, SHIFT_JISX0213, ISO-2022-JP-3. + * iconvdata/run-iconv-test.sh: Skip the charmap test if the charmap + contains comments indicating precomposed characters. + +2002-04-21 Bruno Haible <bruno@clisp.org> + + * iconvdata/iso-2022-jp-3.c: New file. + * iconvdata/gconv-modules (ISO-2022-JP-3): New module. + * iconvdata/Makefile (modules): Add ISO-2022-JP-3. + (LDFLAGS-ISO-2022-JP-3.so): New variable. + (ISO-2022-JP-3.so): Depend on libJIS.so and libJISX0213.so. + (distribute): Add iso-2022-jp-3.c. + +2002-05-12 Bruno Haible <bruno@clisp.org> + + * iconvdata/tst-table-to.c (main): Restore handling of + transliterations, broken by last patch. + +2002-05-12 Bruno Haible <bruno@clisp.org> + + * iconvdata/TESTS: Add IBM922, IBM1124, IBM1129. + +2002-05-12 Bruno Haible <bruno@clisp.org> + + * iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Don't advance inptr + when there is not enough room in the output buffer. + * iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise. + +2002-04-20 Bruno Haible <bruno@clisp.org> + + * iconv/skeleton.c ({FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO}): New + macros. + (RESET_INPUT_BUFFER): Use them instead of {MIN,MAX}_NEEDED_{FROM,TO}. + Also make this macro work if FROM_DIRECTION evaluates to 0. + (gconv_init): Use the new macros instead of {MIN,MAX}_NEEDED_{FROM,TO}. + (FUNCTION_NAME): Likewise, in the handling of unaligned accesses and + of consume_incomplete. + * iconvdata/cp1255.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} + instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to + 4, not 8. + * iconvdata/cp1258.c: Likewise. + * iconvdata/ibm930.c: Define {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} + instead of {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 3, + not 2. + * iconvdata/ibm933.c: Likewise. + * iconvdata/ibm935.c: Likewise. + * iconvdata/ibm937.c: Likewise. + * iconvdata/ibm939.c: Likewise. + * iconvdata/iso-2022-cn.c: Define + {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of + {MIN,MAX}_NEEDED_{FROM,TO}. Set TO_LOOP_MAX_NEEDED_TO to 6, not 4. + * iconvdata/iso-2022-cn-ext.c: Likewise. + * iconvdata/iso-2022-jp.c: Define + {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of + {MIN,MAX}_NEEDED_{FROM,TO}. + * iconvdata/tcvn5712-1.c: Define + {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of + {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_FROM to 1, not 2. + * iconvdata/euc-jisx0213.c: Define + {FROM,TO}_LOOP_{MIN,MAX}_NEEDED_{FROM,TO} instead of + {MIN,MAX}_NEEDED_{FROM,TO}. Set FROM_LOOP_MAX_NEEDED_TO to 8, not 4. + * iconvdata/shift_jisx0213.c: Likewise. + +2002-05-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * sysdeps/powerpc/Makefile (sysdeps_routines): Add divdi3, cmpdi2, + shdi3, fixdfdi, fixsfdi in csu dir. + (shared-only-routines): Likewise. + * sysdeps/wordsize-32/cmpdi2.c: New file. + * sysdeps/wordsize-32/shdi3.c: New file. + * sysdeps/wordsize-32/fixdfdi.c: New file. + * sysdeps/wordsize-32/fixsfdi.c: New file. + * sysdeps/powerpc/Versions (__divdi3, __moddi3, __udivdi3, __umoddi3, + __ashldi3, __ashrdi3, __lshrdi3, __cmpdi2, __ucmpdi2, __fixdfdi, + __fixsfdi, __fixunsdfdi, __fixunssfdi): Export at GLIBC_2.0. + + * sysdeps/unix/sysv/linux/semctl.c (__old_semctl, __new_semctl): + Only use va_arg if the argument will be used [PR libc/3259]. + +2002-05-06 Michael A. Schmidt <mmaass@us.ibm.com> + + * catgets/catgets.c (catopen): Free buffer if internal catalog + open fails. + +2002-05-14 Ulrich Drepper <drepper@redhat.com> + + * debug/xtrace.sh: Make more robust. For realtime tracking use + non-buffering methods. + * debug/pcprofiledump.c: Implement -u option. + Patch by Roger Luethi <rl@hellgate.ch>. + +2002-05-11 Jakub Jelinek <jakub@redhat.com> + + * include/netinet/in.h (bindresvport_internal): Add prototype. + * include/rpc/auth.h (authunix_create_internal, + authunix_create_default_internal, authnone_create_internal, + authdes_pk_create_internal): Add prototypes. + * include/rpc/clnt.h (clnt_create_internal, clnttcp_create_internal, + clntudp_create_internal, clntudp_bufcreate_internal, + clntunix_create_internal): Add prototypes. + * include/rpc/svc.h (svc_sendreply_internal, svcerr_decode_internal, + svc_getreq_internal, svc_getreq_common_internal, + svc_getreqset_internal, svc_getreq_poll_internal, + svc_register_internal, svc_unregister_internal, + svcudp_create_internal, svcudp_bufcreate_internal): Add prototypes. + * include/rpc/svc_auth.h (_authenticate_internal): Add prototype. + * include/sys/socket.h (__sendto, __recvfrom, __sendmsg, __recvmsg, + __setsockopt, __getsockname, __bind, __listen): Add prototypes. + * inet/rexec.c (rexec_af): Use __listen and __getsockname. + * inet/rcmd.c (rcmd_af): Use __listen. + (rresvport_af): Use __bind. + * sunrpc/clnt_udp.c: Use INTUSE calls to bindresvport, + authunix_create, authunix_create_default, authnone_create, + authdes_pk_create, clnt_create, clnttcp_create, clntudp_create, + clntudp_bufcreate, clntunix_create svc_sendreply, svcerr_decode, + svc_getreq, svc_getreq_common, svc_getreqset, svc_getreq_poll, + svc_register, svc_unregister, svcudp_create, svcudp_bufcreate, + _authenticate, add INTDEF after such function definitions. + Use __listen, __bind, __sendto, __recvfrom, __sendmsg, __recvmsg, + __setsockopt, __getsockname instead of non-__ variants. + * sunrpc/pmap_rmt.c: Likewise. + * sunrpc/rtime.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/svc_unix.c: Likewise. + * sunrpc/bindrsvprt.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/auth_none.c: Likewise. + * sunrpc/clnt_raw.c: Likewise. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/auth_unix.c: Likewise. + * sunrpc/key_call.c: Likewise. + * sunrpc/clnt_gen.c: Likewise. + * sunrpc/pm_getmaps.c: Likewise. + * sunrpc/clnt_simp.c: Likewise. + * sunrpc/pmap_clnt.c: Likewise. + * sunrpc/svc_run.c: Likewise. + * sunrpc/svc.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/pm_getport.c: Likewise. + * sunrpc/auth_des.c: Likewise. + * sunrpc/svc_auth.c: Likewise. + * sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases, + __register_frame_info_table_bases, __deregister_frame_info_bases): + Add INTDEF. + (__register_frame_info_bases_internal, + __register_frame_info_table_bases_internal, + __deregister_frame_info_bases_internal): Add prototypes. + (__register_frame_info, __register_frame): Use INTUSE in call to + __register_frame_info_bases. + (__register_frame_info_table): Similarly. + (__deregister_frame_info, __deregister_frame): Similarly. + * sysdeps/generic/sendto.c (__sendto): Renamed from sendto, add + sendto as weak alias. + * sysdeps/mach/hurd/sendto.c: Likewise. + * sysdeps/generic/recvfrom.c (__recvfrom): Renamed from recvfrom, add + recvfrom as weak alias. + * sysdeps/mach/hurd/recvfrom.c: Likewise. + * sysdeps/unix/sysv/aix/recvfrom.c: Likewise. + * sysdeps/generic/recvmsg.c (__recvmsg): Renamed from recvmsg, add + recvmsg as weak alias. + * sysdeps/unix/sysv/aix/recvmsg.c: Likewise. + * sysdeps/generic/sendmsg.c (__sendmsg): Renamed from sendmsg, add + sendmsg as weak alias. + * sysdeps/unix/sysv/aix/sendmsg.c: Likewise. + * sysdeps/generic/setsockopt.c (__setsockopt): Renamed from + setsockopt, add setsockopt as weak alias. + * sysdeps/mach/hurd/setsockopt.c: Likewise. + * sysdeps/generic/bind.c (__bind): Renamed from bind, add bind as + weak alias. + * sysdeps/mach/hurd/bind.c: Likewise. + * sysdeps/generic/listen.c (__listen): Renamed from listen, add listen + as weak alias. + * sysdeps/mach/hurd/listen.c: Likewise. + * sysdeps/generic/getsockname.c (__getsockname): Renamed from + getsockname, add getsockname as weak alias. + * sysdeps/mach/hurd/getsockname.c: Likewise. + * sysdeps/unix/sysv/aix/getsockname.c: Likewise. + * sysdeps/mach/hurd/recvmsg.c (__recvmsg): Add weak alias. + * sysdeps/mach/hurd/sendmsg.c (__sendmsg): Add weak alias. + * sysdeps/unix/inet/syscalls.list (__bind, __listen, __recvmsg, + __recvfrom, __sendmsg, __sendto, __setsockopt): Add aliases. + * sysdeps/unix/sysv/linux/alpha/syscalls.list (__recvmsg, __sendmsg): + Add aliases. + * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/recvfrom.S (__recvfrom): Add weak alias. + * sysdeps/unix/sysv/linux/recvmsg.S (__recvmsg): Likewise. + * sysdeps/unix/sysv/linux/sendmsg.S (__sendmsg): Likewise. + * sysdeps/unix/sysv/linux/sendto.S (__sendto): Likewise. + * sysdeps/unix/sysv/linux/setsockopt.S (__setsockopt): Likewise. + * sysdeps/unix/sysv/linux/bind.S (__bind): Likewise. + * sysdeps/unix/sysv/linux/listen.S (__listen): Likewise. + * sysdeps/unix/sysv/linux/getsockname.S (__getsockname): Likewise. + +2002-05-10 Jakub Jelinek <jakub@redhat.com> + + * locale/programs/localedef.h (show_archive_content): Add verbose + argument. + * locale/programs/localedef.c (main): Adjust caller. + * locale/programs/locarchive.c (struct nameent, struct dataent): New + types. + (nameentcmp, dataentcmp): New functions. + (xstrcmp): Remove. + (show_archive_content): Print verbose listing with --list-archive -v. + +2002-05-14 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/locarchive.c (open_archive): Take extra argument + readonly. If true open file with O_RDONLY and don't create the + archive if it doesn't exist. + Adapt all callers. + (close_archive): Don't do anything if fd element is -1. + * locale/programs/localedef.h (open_archive): Adjust prototype. + * locale/programs/locfile.c (write_all_categories): Adjust open_archive + call. + + * malloc/malloc.c (__posix_memalign): Correct check for size of + alignment value [PR libc/3444]. + + * include/stdio.h: Remove references to old stdio implementation. + + * libio/Makefile (bug-ungetwc2-ENV): Define. + +2002-05-13 Roland McGrath <roland@frob.com> + + * iconv/gconv_charset.h (upstr): Add inline keyword, quiets warning. + + * hurd/hurdinit.c (_hurd_init): Use internal name _hurd_new_proc_init. + +2002-05-13 Marcus Brinkmann <marcus@gnu.org> + + * hurd/hurdchdir.c (_hurd_change_directory_port_from_name): + Allocate three, not two, more than LEN when appending '/.'. + * sysdeps/mach/hurd/chroot.c (chroot): Likewise. Don't check + if NAME ends with '/.' if it is shorter than 2 chars. + +2002-05-12 Roland McGrath <roland@frob.com> + + * mach/Makefile ($(mach-syscalls:%=$(objpfx)%.S)): Make the generated + files #include <sysdep.h> instead of <mach/machine/syscall_sw.h>. + + * hurd/hurdexec.c (_hurd_exec): Reauthenticate ports/dtable used in + file_exec to effect svuid=euid, svgid=egid if that is not a no-op. + +2002-05-10 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/ia64/Makefile: Remove extra endif. + * sysdeps/ia64/ia64libgcc.S (__divsf3): Fix typo in symbol version. + +2002-05-10 Andreas Schwab <schwab@suse.de> + + * sysdeps/powerpc/fpu/w_sqrt.c: Add sqrtl alias. + +2002-05-09 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/sys/io.h: New file. + * sysdeps/unix/sysv/linux/x86_64/Dist: Add it. + * sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers): Add it. + + * sysdeps/unix/sysv/linux/ia64/glob.c: Move to ... + * sysdeps/wordsize-64/glob.c: ...here. + * sysdeps/unix/sysv/linux/x86_64/glob.c: Remove. + * sysdeps/unix/sysv/linux/s390/s390-64/glob.c: Remove. + * sysdeps/unix/sysv/linux/sparc/sparc64/glob.c: Remove. + +2002-05-08 Roland McGrath <roland@frob.com> + + * hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Use + O_NOTRANS flag in "." lookup. + +2002-05-05 Ulrich Drepper <drepper@redhat.com> + + * malloc/mtrace.c: Comment out use of _mtrace_file and _mtrace_len. + +2002-05-04 Ulrich Drepper <drepper@redhat.com> + + * locale/duplocale.c (__duplocale): Update special members only + when allocation succeeded. + +2002-05-03 Roland McGrath <roland@frob.com> + + * shlib-versions (.*-.*-gnu-gnu.*): Remove USE_IN_LIBIO conditionals; + we can only build libc.so.0.3(GLIBC_2.2.6) now. + +2002-05-02 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/ia64/Makefile: Add ia64libgcc in csu subdir. + * sysdeps/ia64/Versions (__divtf3, __divdf3, __divsf3, __divdi3, + __moddi3, __udivdi3, __umoddi3, __multi3): Export at GLIBC_2.0. + * sysdeps/ia64/ia64libgcc.S: New file. + +2002-05-02 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-tls.c (oom): Implement using _dl_fatal_printf. + + * malloc/memusage.c: Distinguish anonymous mmap. + +2002-05-01 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/close.c: #undef __close before function defn, + and use INTDEF on it. + * sysdeps/mach/hurd/fcntl.c: Use INTDEF2. + + * sysdeps/mach/hurd/dl-sysdep.c (errno): New variable. + + * sysdeps/mach/hurd/alpha/static-start.S: New file (unfinished). + +2002-05-01 Ulrich Drepper <drepper@redhat.com> + + * malloc/memusage.c: Add support for tracking mmap & friends. + * malloc/memusage.sh: Implement -m/--mmap option. + +2002-04-30 Jakub Jelinek <jakub@redhat.com> + + * locale/programs/locarchive.c (create_archive): Add archivefname + argument, create fname from it. + (enlarge_archive): Honour output_prefix. + (open_archive): Likewise. + +2002-04-30 Jakub Jelinek <jakub@redhat.com> + + * locale/programs/locarchive.c (add_locales_to_archive): Don't nest + too many stpcpy macros. + +2002-04-26 Bruno Haible <bruno@clisp.org> + + * locale/programs/ld-collate.c (collate_read): Cast first argument + for "%.*s" to int. + +2002-04-26 Bruno Haible <bruno@clisp.org> + + * include/libintl.h (__ngettext, __dngettext, __dcngettext, + __dcngettext_internal): New declarations. + (__gettext, __dgettext, __dcgettext, __dcgettext_internal): Add + attribute declarations. + +2002-04-30 Roland McGrath <roland@frob.com> + + Removed old GNU stdio implementation; GNU libio is now the only option. + * configure.in: Removed --enable-libio option and @stdio@ subst var. + Define USE_IN_LIBIO unconditionally. + * configure: Regenerated. + * Makeconfig (stdio): Set to libio by default. + * config.make.in (stdio): Variable removed. + * sysdeps/unix/sysv/linux/configure.in: Don't set $stdio. + * sysdeps/unix/sysv/linux/configure: Regenerated. + * sysdeps/mach/hurd/configure.in: Don't test $stdio. + * sysdeps/mach/hurd/configure: Regenerated. + * stdio/.cvsignore: File removed. + * stdio/Makefile: File removed. + * stdio/Versions: File removed. + * stdio/__fbufsize.c: File removed. + * stdio/__flbf.c: File removed. + * stdio/__fpending.c: File removed. + * stdio/__fpurge.c: File removed. + * stdio/__freadable.c: File removed. + * stdio/__freading.c: File removed. + * stdio/__fsetlocking.c: File removed. + * stdio/__fwritable.c: File removed. + * stdio/__fwriting.c: File removed. + * stdio/clearerr.c: File removed. + * stdio/fclose.c: File removed. + * stdio/fcloseall.c: File removed. + * stdio/feof.c: File removed. + * stdio/ferror.c: File removed. + * stdio/fflush.c: File removed. + * stdio/fgetc.c: File removed. + * stdio/fgetpos.c: File removed. + * stdio/fgets.c: File removed. + * stdio/fileno.c: File removed. + * stdio/fmemopen.c: File removed. + * stdio/fopen.c: File removed. + * stdio/fopncook.c: File removed. + * stdio/fputc.c: File removed. + * stdio/fputs.c: File removed. + * stdio/fread.c: File removed. + * stdio/freopen.c: File removed. + * stdio/fseek.c: File removed. + * stdio/fsetpos.c: File removed. + * stdio/ftell.c: File removed. + * stdio/fwrite.c: File removed. + * stdio/getc.c: File removed. + * stdio/getchar.c: File removed. + * stdio/getdelim.c: File removed. + * stdio/gets.c: File removed. + * stdio/glue.c: File removed. + * stdio/internals.c: File removed. + * stdio/linewrap.c: File removed. + * stdio/linewrap.h: File removed. + * stdio/memstream.c: File removed. + * stdio/newstream.c: File removed. + * stdio/obstream.c: File removed. + * stdio/putc.c: File removed. + * stdio/putchar.c: File removed. + * stdio/puts.c: File removed. + * stdio/rewind.c: File removed. + * stdio/setbuf.c: File removed. + * stdio/setbuffer.c: File removed. + * stdio/setlinebuf.c: File removed. + * stdio/setvbuf.c: File removed. + * stdio/stdio.h: File removed. + * stdio/ungetc.c: File removed. + * stdio/vasprintf.c: File removed. + * stdio/vscanf.c: File removed. + * stdio/vsnprintf.c: File removed. + * stdio/vsprintf.c: File removed. + * stdio/vsscanf.c: File removed. + * sysdeps/generic/defs.c: File removed. + * sysdeps/generic/fdopen.c: File removed. + * sysdeps/generic/pipestream.c: File removed. + * sysdeps/generic/stdio_init.c: File removed. + * sysdeps/generic/sysd-stdio.c: File removed. + * sysdeps/generic/vdprintf.c: File removed. + * sysdeps/mach/hurd/defs.c: File removed. + * sysdeps/mach/hurd/fdopen.c: File removed. + * sysdeps/mach/hurd/pipestream.c: File removed. + * sysdeps/mach/hurd/stdio_init.c: File removed. + * sysdeps/mach/hurd/sysd-stdio.c: File removed. + * sysdeps/mach/hurd/vdprintf.c: File removed. + * sysdeps/posix/defs.c: File removed. + * sysdeps/posix/fdopen.c: File removed. + * sysdeps/posix/pipestream.c: File removed. + * sysdeps/posix/stdio_init.c: File removed. + * sysdeps/posix/vdprintf.c: File removed. + * sysdeps/unix/pipestream.c: File removed. + * sysdeps/unix/sysv/sysd-stdio.c: File removed. + * sysdeps/unix/sysv/sco3.2.4/pipestream.c: File removed. + * sysdeps/unix/sysv/sysv4/pipestream.c: File removed. + +2002-04-29 Roland McGrath <roland@frob.com> + + * include/libc-symbols.h (link_warning): Use `unused' attribute. + +2002-04-28 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/tls.h: Describe what must be defined. + + * sysdeps/generic/glob.c (glob): Don't pass GLOB_NOMAGIC flag to + glob_in_dir [PR libc/3385]. + * posix/globtest.sh: Add test case. + + * intl/loadmsgcat.c [!_LIBC] (_nl_init_domain_conv): Don't add + //TRANSLIT twice. + +2002-04-27 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/fxstat.c: Fix a few issues with the + _internal symbol handling. + * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. + +2002-04-26 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ia64/fpu/s_finite.S: Define _internal aliases. + * sysdeps/unix/sysv/linux/ia64/fork.S: Likewise. + +2002-04-26 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (re_compile_fastmap_iter): Fix fastmap in case of + not _LIBC and RE_ENABLE_I18N. + (build_range_exp): Implement for not _LIBC. + (build_collating_symbol): Likewise. + (parse_bracket_exp): Unify redundant error handlings. + Don't erase mbcset for non matching list in multibyte envs. + (build_word_op): Add '_' to matching list for \w operator. + * posix/regex_internal.c (re_string_construct): Invoke + build_upper_buffer in case of not RE_ENABLE_I18N. + (re_string_reconstruct): Don't touch cur_state in case of not + RE_ENABLE_I18N. + * posix/regex_internal.h (attribute_hidden): New macro in case of + not _LIBC. + (re_charset_t): Define range_starts/ends in case of not _LIBC. + * posix/regexec.c (sift_states_iter_mb): Hide in case of not + RE_ENABLE_I18N. + (transit_state_mb): Likewise. + (check_node_accept_bytes): Implement the code evaluating range + expression in case of not _LIBC. + (find_collation_sequence_value): Hide in case of not _LIBC. + +2002-04-26 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c: Copied from + i386/semctl.c. + (__old_semctl, __new_semctl): Only use va_arg if the argument will + be used. + +2002-04-26 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ia64/fpu/s_isinf.S: Fix definition of _internal names. + + * sysdeps/ia64/strncpy.S: Fix recovery code. + Patch by David Mosberger <davidm@hpl.hp.com>. + +2002-04-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/Versions [libc]: Add getunwind for + GLIBC_2.2.6. + +2002-04-14 Bruno Haible <bruno@clisp.org> + + * posix/regex.c (re_max_failures): Add back symbol for binary + compatibility. + +2002-04-22 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (re_compile_internal): Adapt it to new interface + of buffer building functions. + * posix/regex_internal.c (re_string_allocate): New function. + (re_string_realloc_buffers): New function. + (re_string_skip_chars): New function. + (re_string_reconstruct): New function. + (re_string_construct): Adapt it to new interface of buffer building + functions. + (re_string_construct_common): Likewise. + (build_wcs_buffer): Likewise. + (build_wcs_upper_buffer): Likewise. + (build_upper_buffer): Likewise. + (re_string_translate_buffer): Likewise. + (re_string_context_at): Adapt it to variable length buffers. + * posix/regex_internal.h (re_string_t): Add new fields to handle + variable length buffers. + (re_match_context_t): Likewise. + * posix/regexec.c (re_search_internal): Adapt it to new interface + of re_string_t and re_match_context_t. + (acquire_init_state_context): Likewise. + (check_matching): Likewise. + (check_halt_state_context): Likewise. + (proceed_next_node): Likewise. + (set_regs): Likewise. + (sift_states_backward): Likewise. + (clean_state_log_if_need): Likewise. + (sift_states_iter_mb): Likewise. + (sift_states_iter_bkref): Likewise. + (add_epsilon_backreference): Likewise. + (transit_state): Likewise. + (transit_state_sb): Likewise. + (transit_state_mb): Likewise. + (transit_state_bkref): Likewise. + (transit_state_bkref_loop): Likewise. + (check_node_accept): Likewise. + (match_ctx_init): Likewise. + (extend_buffers): New function. + +2002-04-21 Bruno Haible <bruno@clisp.org> + + * iconvdata/tst-table.sh: For the second check, use the truncated + GB18030 charmap table, like for the first check. + +2002-04-24 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (open_verify): Correct __lseek parameters. + Patch by Simon Hildrew <simon@hildrew.net> [PR libc/3354]. + +2002-04-23 H.J. Lu <hjl@gnu.org> + + * include/math.h (isfinite): Fix a typo. + +2002-04-24 Ulrich Drepper <drepper@redhat.com> + + * libio/bug-ungetwc2.c (test_locale): Use the de_DE.UTF-8 locale + which is created by the test suite. + +2002-04-20 Bruno Haible <bruno@clisp.org> + + * iconvdata/iso-2002-kr.c (MAX_NEEDED_FROM): Set to 4. + (BODY for FROM_LOOP): Fix comparisons between inptr and inend. + +2002-04-20 Bruno Haible <bruno@clisp.org> + + * iconvdata/johab.c (BODY for FROM_LOOP): Change type of i, m, f, + to avoid gcc warning. + +2002-04-20 Bruno Haible <bruno@clisp.org> + + * iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Fix modification mask + of data->__statep->__count. + +2002-04-20 Bruno Haible <bruno@clisp.org> + + * iconvdata/euc-jisx0213.c (BODY for TO_LOOP): Really ignore Unicode + tag characters. + * iconvdata/shift_jisx0213.c (BODY for TO_LOOP): Likewise. + +2002-04-24 Roland McGrath <roland@frob.com> + + * sysdeps/mach/alpha/syscall.S: Don't use .frame, ENTRY will have it; + use END macro instead of our own .end directive. + Use `callsys' insn mnemonic instead of `call_pal'. + + * sysdeps/mach/alpha/sysdep.h (ENTRY): New macro. + + * sysdeps/alpha/dl-machine.h (ELF_MACHINE_USER_ADDRESS_MASK): New + macro; we need this for Hurd. + + Log entry was missing for 2002/03/24 commit of rev 1.8, + goes with 2002-03-17 changes. + * sysdeps/mach/hurd/i386/Makefile [$(subdir) = misc] + (sysdep_routines): Append ioperm here. + (sysdep_headers): Append sys/io.h here. + +2002-04-23 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/send.c: int -> size_t for WROTE. + * sysdeps/mach/hurd/sendto.c: Likewise. + * hurd/hurdioctl.c (siocgifconf): int -> size_t for DATA_LEN. + * sysdeps/mach/hurd/wait4.c (__wait4): natural_t -> int for SIGCODE. + * sysdeps/mach/hurd/getpriority.c: unsigned int -> size_t for PISIZE. + +2002-04-22 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/ioperm.c (ioperm): Translate MIG_BAD_ID + failure from i386_io_perm_* RPCs to ENOSYS. + +2002-04-22 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/ldconfig.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/dl-cache.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/vfork.S: Use %rdi as temp + register instead of destroying %rbx. + +2002-04-21 Ulrich Drepper <drepper@redhat.com> + + * string/string.h: Declare strerror_r also for XPG6. + +2002-04-19 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/tmpfile.c: Create a file descriptor and use fdopen. + +2002-04-20 Ulrich Drepper <drepper@redhat.com> + + * Makefile: Add handling of xtests and xcheck targets. + * MakeTAGS: Likewise. + * Makeconfig: Likewise. + * Makerules: Likewise. + * Rules: Likewise. + * manual/Makefile: Likewise. + * sunrpc/Makefile (xtests): Add thrsvc if thread library available. + * sunrpc/thrsvc.c: New file. By Zack Weinberg. + +2002-04-11 Zack Weinberg <zack@codesourcery.com> + + * include/rpc/rpc.h (struct rpc_thread_variables): Remove + authnone_private_s. + * sunrpc/auth_none.c: Include bits/libc-lock.h. + Delete #ifdef _RPC_THREAD_SAFE_ block. + (authnone_private): Make a struct, not a pointer to struct. + (authnone_private_guard): New once-control variable. + (authnone_create_once): New function, split out of + authnone_create. No need to allocate memory. + (authnone_create): Just call authnone_create_once via + __libc_once, then return &authnone_private->no_client. + (authnone_marshal): Access private data via CLIENT argument, + not authnone_private pointer. + Fix typo (MAX_MARSHEL_SIZE -> MAX_MARSHAL_SIZE). + * sunrpc/rpc_thread.c (__rpc_thread_destroy): No need to free + authnone_private_s. + +2002-04-12 H.J. Lu <hjl@gnu.org> + + * sunrpc/clnt_raw.c (clntraw_create): Properly set xdrs and client. + +2002-04-18 Bruno Haible <bruno@clisp.org> + + * iconvdata/euc-jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for + FROM_DIRECTION): Make the FROM direction stateless. + * iconvdata/shift_jisx0213.c (EMIT_SHIFT_TO_INIT, BODY for + FROM_DIRECTION): Likewise. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/JISX0213.TXT: New file. + * iconvdata/jisx0213.h: New file. + * iconvdata/jisx0213.c: New file. + * iconvdata/euc-jisx0213.c: New file. + * iconvdata/shift_jisx0213.c: New file. + * iconvdata/gconv-modules (EUC-JISX0213, SHIFT_JISX0213): New modules. + * iconvdata/EUC-JISX0213.precomposed: New file. + * iconvdata/SHIFT_JISX0213.precomposed: New file. + * iconvdata/SHIFT_JISX0213.irreversible: New file. + * iconvdata/tst-table-to.c (main): Make it work for encodings for + which the "to" direction is stateful. + * iconvdata/tst-tables.sh: Add EUC-JISX0213, SHIFT_JISX0213. + * iconvdata/Makefile (modules): Add libJISX0213, EUC-JISX0213, + SHIFT_JISX0213. + (libJISX0213-routines): New variable. + (LDFLAGS-EUC-JISX0213.so, LDFLAGS-SHIFT_JISX0213.so): New variables. + (EUC-JISX0213.so, SHIFT_JISX0213.so): Depend on libJISX0213.so. + (LDFLAGS-libJISX0213.so): New variable. + (distribute): Add JISX0213.TXT, EUC-JISX0213.precomposed, + SHIFT_JISX0213.precomposed, SHIFT_JISX0213.irreversible, + jisx0213.c, jisx0213.h, euc-jisx0213.c, shift_jisx0213.c. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/big5hkscs.c (big5hkscs_to_ucs): Change element type to + uint32_t. Update to Unicode 3.2. + (from_ucs4, from_ucs4_idx): Update to Unicode 3.2. + (BODY for TO_LOOP): Handle the ASCII range specially. + * iconvdata/BIG5HKSCS.irreversible: Add one more entry. + * iconvdata/testdata/BIG5HKSCS: Remove a character. + * iconvdata/testdata/BIG5HKSCS..UTF-8: Regenerated. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/gb18030.c (__twobyte_to_ucs, __fourbyte_to_ucs, + __ucs_to_gb18030_tab1, __ucs_to_gb18030_tab2): Update to Unicode 3.2. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/cns11643.h (__cns11643_from_ucs4p2c_tab): New declaration. + (ucs4_to_cns11643): Update. + * iconvdata/cns11643.c: Update to Unicode 3.2. + (__cns11643l2*_to_ucs4_tab, __cns11643_from_ucs4p0_tab, + __cns11643_from_ucs4p2_tab): Regenerated. + (__cns11643_from_ucs4p2c_tab): New array. + * iconvdata/cvs11643l1.c: Update comments. + * iconvdata/EUC-TW.irreversible: Remove two entries. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * locale/C-translit.h.in: Update to Unicode 3.2. + Add <U2047>, <U205F>..<U2063>, <U2145>..<U2149>, <U2A74>..<U2A76>, + <U30A0>, <U3251>..<U325F>, <U32B1>..<U32BF>, <UFE00>..<UFE0F>. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/sjis.c (halfkana_to_ucs4): Remove array. + (BODY for FROM_LOOP): Optimize the JISX0201:GR to Unicode conversion. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/euc-jp.c (BODY for FROM_LOOP): When encountering an + invalid input (e.g. a byte > 0x80 followed by a byte < 0x80), skip + always one byte, not 0 bytes in some cases and 2 bytes in others. + + * iconvdata/tst-table-from.c (main): Correct the usage message. + +2002-04-19 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (parse_expression): Fix incorrect error code. + (parse_dup_op): Fix error handling like "a{}". + (parse_bracket_exp): Add error handling. + (fetch_number): Add error handling for "a{<very_large_number>}". + +2002-04-19 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (parse_bracket_symbol): Add error handling + in case that the symbol name is too long. + (build_charclass): Handle [:lower:]/[:uppper:] correctly + in case of REG_ICASE. + +2002-04-19 Andreas Jaeger <aj@suse.de> + + * math/libm-test.inc: Fix comment, suggested by Hartvig Ekner + <hartvige@mips.com>. + +2002-04-15 H.J. Lu <hjl@gnu.org> + + * include/math.h (__finitel_internal): Declare only if + __NO_LONG_DOUBLE_MATH is not defined. + (__isinfl_internal): Likewise. + (__isnanl_internal): Likewise. + + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __connect_internal. + * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/ia64/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: Add __chown_internal and + __fcntl_internal. + + * sysdeps/unix/sysv/linux/fxstat.c (__fxstat64_internal): Added. + * sysdeps/unix/sysv/linux/lxstat.c (__lxstat64_internal): Added. + +2002-04-15 Bruno Haible <bruno@clisp.org> + + * iconvdata/armscii-8.c (BODY for FROM_LOOP): Fix array access. + (BODY for TO_LOOP): Likewise. + * iconvdata/tcvn5712-1.c (from_ucs4): Map U+0309 to 0xB1. + * iconvdata/tst-table.sh: Add support for encodings which contain + precomposed Unicode characters, known to the iconv converter in both + directions but not listed in the charmap. + * iconvdata/IBM856.irreversible: New file. + * iconvdata/IBM922.irreversible: New file. + * iconvdata/IBM1132.irreversible: New file. + * iconvdata/IBM1133.irreversible: New file. + * iconvdata/IBM1160.irreversible: New file. + * iconvdata/IBM1161.irreversible: New file. + * iconvdata/IBM1163.irreversible: New file. + * iconvdata/IBM1164.irreversible: New file. + * iconvdata/ARMSCII-8.irreversible: New file. + * iconvdata/TCVN5712-1.precomposed: New file. + * iconvdata/tst-tables.sh: Add IBM856, IBM922, IBM1124, IBM1129, + IBM1160, IBM1161, IBM1132, IBM1133, IBM1162, IBM1163, IBM1164, + ARMSCII-8, TCVN5712-1. + * iconvdata/Makefile (distribute): Add IBM856.irreversible, + IBM922.irreversible, IBM1132.irreversible, IBM1133.irreversible, + IBM1160.irreversible, IBM1161.irreversible, IBM1163.irreversible, + IBM1164.irreversible, ARMSCII-8.irreversible, TCVN5712-1.precomposed. + +2002-04-17 Jakub Jelinek <jakub@redhat.com> + + * time/tst-mktime.c: Include <stdlib.h>. Use %d, not %ld format + for EVENING69. Include offsets in TZ environment variable. + +2002-04-18 Ulrich Drepper <drepper@redhat.com> + + * iconv/skeleton.c (RESET_INPUT_BUFFER): Replace ifs with #ifs to + avoid compiler warnings. + + * locale/programs/localedef.c (main): Always call + construct_output_path. + + * iconv/Makefile (CFLAGS-simple-hash.c): Define to find hashval.h. + + * locale/programs/locfile.c (to_archive): New variable. To collect + data which has to be added to the locale archive. + (write_all_categories): Take new third parameter with locale name. + Unless no_archive flag set add new locale data to the archive + (write_locale_data): Unless no-archive flag set store generated data + in to_archive data structure instead of generation output file. + Add new parameter with locale category index. + * locale/programs/locfile.h: Add new parameters in declaractions of + write_all_categories and write_locale_data. + * locale/programs/localedef.c: Recognize --no-archive, --list-archive, + --add-to-archive, and --delete-from-archive options. Pass extra + parameter to write_all_categories. + * locale/programs/localedef.h: Add prototypes for functions in + locarchive.c. + * locale/locarchive.h: New file. + * locale/programs/locarchive.c: New file. + * locale/Makefile (distribute): Add programs/locarchive.c and + locarchive.h. + (localedef-modules): Add md5 and locarchive. + Add vpath to crypt subdir for md5.c. + + * locale/programs/ld-address.c: Pass locale category ID as new second + parameter to write_locale_data. + * locale/programs/ld-collate.c: Likewise. + * locale/programs/ld-ctype.c: Likewise. + * locale/programs/ld-identification.c: Likewise. + * locale/programs/ld-measurement.c: Likewise. + * locale/programs/ld-messages.c: Likewise. + * locale/programs/ld-monetary.c: Likewise. + * locale/programs/ld-name.c: Likewise. + * locale/programs/ld-numeric.c: Likewise. + * locale/programs/ld-paper.c: Likewise. + * locale/programs/ld-telephone.c: Likewise. + * locale/programs/ld-time.c: Likewise. + + * locale/simple-hash.c: Move compute_hashval function from here... + * locale/hashval.h: ...to here. New file. + * locale/simple-hash.h: Add prototype for compute_hashval. + + * include/libintl.h: Minor cleanups. + +2002-04-16 Ulrich Drepper <drepper@redhat.com> + + * posix/regcomp.c (gettext): Use INTUSE for _libc_intl_domainname. + +2002-04-15 Ulrich Drepper <drepper@redhat.com> + + * include/sys/stat.h: Fix typo. Patch by HJ Lu. + +2002-04-14 Bruno Haible <bruno@clisp.org> + + * locale/programs/charmap.c (charmap_read): Don't access result if + result == NULL. + +2002-02-17 Andreas Schwab <schwab@suse.de> + + * elf/reldep7.c: New file. + * elf/reldep7mod1.c: New file. + * elf/reldep7mod2.c: New file. + * elf/Makefile: Add rules to build and run reldep7. + +2002-04-14 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-lookup.c (_dl_lookup_symbol): Move add_dependency call to + the end of the function. Pass original flags to recursive call if + add_dependency failed. + (_dl_lookup_versioned_symbol): Likewise. + +2002-04-13 Jakub Jelinek <jakub@redhat.com> + + * time/mktime.c (__mktime_internal): If year is 69, don't bail out + early, but check whether it overflowed afterwards. + * time/tst-mktime.c (main): Add new tests. + +2002-04-14 Ulrich Drepper <drepper@redhat.com> + + * debug/xtrace.sh: Fix program name in help message. + Patch by Roger Luethi <rl@hellgate.ch>. + + * include/sys/stat.h: Add prototypes for __lxstat_internal and + __lxstat64_internal. Add macros __lxstat and __lxstat64 if not + NOT_IN_libc. + * sysdeps/generic/lxstat.c: Use INTDEF for __lxstat. + * sysdeps/mach/hurd/lxstat.c: Likewise. + * sysdeps/unix/common/lxstat.c: Likewise. + * sysdeps/unix/sysv/aix/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/lxstat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Likewise. + * sysdeps/generic/lxstat64.c: Use INTDEF for __lxstat64. + * sysdeps/mach/hurd/lxstat64.c: Likewise. + * sysdeps/unix/sysv/aix/lxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. + + * include/wchar.h: Declare __mbrtowc_internal and __mbrlen_internal + prototypes. Add __mbrlen and __mbrtowc macros. + * wcsmbs/mbrlen.c: Use INTDEF for __mbrlen. + * wcsmbs/mbrtowc.c: Use INTDEF for __mbrtowc. + + * include/unistd.h: Add prototype for __write_internal and add + __libc_write macro is SHARED. + * sysdeps/generic/write.c: Use INTDEF for __write. + * sysdeps/mach/hurd/write.c: Likewise. + * sysdeps/unix/sysv/aix/write.c: Likewise. + * sysdeps/unix/syscalls.list: Add __libc_write alias. + + * assert/assert.c: Replace STR_N_SIZE with something usable in + macro arguments. + * assert/assert-perr.c: Likewise. + + * include/sys/socket.h: Declare __libc_sa_len_internal and define + SA_LEN macro to use it if not NOT_IN_libc. + * sysdeps/unix/sysv/linux/sa_len.c: Use INTDEF for __libc_sa_len. + + * include/fcntl.h: Declare __open_internal and define __open and + __libc_open macros if not NOT_IN_libc. + * sysdeps/generic/open.c: Use INTDEF for __open. + * sysdeps/mach/hurd/open.c: Likewise. + * sysdeps/unix/sysv/aix/open.c: Likewise. + * sysdeps/unix/syscalls.list: Add __open_internal alias. + + * sysdeps/generic/check_fds.c: Make sure newly opened file descriptor + has correct number. + + * include/fcntl.h: Define __libc_fcntl macro if not NOT_IN_libc. + * sysdeps/mach/hurd/fcntl.c: Undefine __libc_fcntl as well. + * sysdeps/unix/sysv/aix/fcntl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. + + * include/wctype.h: Declare __iswalpha_l_internal, + __iswdigit_l_internal, __iswspace_l_internal, + __iswxdigit_l_internal, and __iswctype_internal. Define + __iswalpha_l, __iswctype, __iswdigit_l, __iswspace_l, and + __iswxdigit_l macros if not NOT_IN_libc. + * wctype/iswctype.c: Use INTDEF for __iswctype. + * wctype/wcfuncs_l.c: Use INTDEF for all __iswXXX_l. + + * include/math.h: Declare __isinf_internal, __isinfl_internal, + __isnan_internal, and __isnanl_internal. + * stdio-common/printf_fp.c: Use INTUSE for calls to __isinf, __isinfl, + __isnan, and __isnanl. + * stdio-common/printf_size.c: Likewise. + * sysdeps/generic/printf_fphex.c: Likewise. + * sysdeps/i386/fpu/s_isinfl.c: Also define _internal alias. + * sysdeps/i386/fpu/s_isnanl.c: Likewise. + * sysdeps/ia64/fpu/s_isinf.S: Likewise. + * sysdeps/ia64/fpu/s_isnan.S: Likewise. + * sysdeps/ieee754/dbl-64/s_isinf.c: Likewise. + * sysdeps/ieee754/dbl-64/s_isnan.c: Likewise. + * sysdeps/ieee754/flt-32/s_isinff.c: Likewise. + * sysdeps/ieee754/flt-32/s_isnanf.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_isinfl.c: Likewise. + * sysdeps/m68k/s_isinfl.c: Likewise. + * sysdeps/m68k/fpu/s_isinf.c: Likewise. + * sysdeps/powerpc/fpu/s_isnan.c: Likewise. + + * include/sys/time.h: Declare __gettimeofday_internal and define + __gettimeofday macro if not NOT_IN_libc. + * sysdeps/generic/gettimeofday.c: Use INTEDEF for __gettimeofday. + * sysdeps/mach/gettimeofday.c: Likewise. + * sysdeps/posix/gettimeofday.c: Likewise. + * sysdeps/unix/sysv/aix/gettimeofday.c: Likewise. + * sysdeps/unix/common/syscalls.list: Define __gettimeofday alias. + * sysdeps/unix/sysv/linux/alpha/gettimeofday.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: Likewise. + + * include/sys/stat.h: Declare __fxstat_internal and __fxstat64_internal + and define __fxstate and __fxstat64 macros if not NOT_IN_libc. + Remove __lstat and __fstat inline functions. + * sysdeps/generic/fxstat.c: Use INTDEF for __fxstat. + * sysdeps/mach/hurd/fxstat.c: Likewise. + * sysdeps/unix/fxstat.c: Likewise. + * sysdeps/unix/sysv/aix/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise. + * sysdeps/generic/fxstat64.c: Use INTDEF for __fxstat64. + * sysdeps/mach/hurd/fxstat64.c: Likewise. + * sysdeps/unix/sysv/aix/fxstat64.c: Likewise. + * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. + + * include/unistd.h: Declare __getpid_internal and define + __getpid macro if not NOT_IN_libc. + * sysdeps/mach/hurd/getpid.c: Use INTDEF for __getpid. + * sysdeps/generic/getpid.c: Likewise. + * sysdeps/unix/syscalls.list: Add __getpid_internal alias. + * posix/bsd-getpgrp.c: Use INTUSE for __getpgid call. + + * include/unistd.h: Declare __getpgid_internal and define + __getpgid macro if not NOT_IN_libc. + * sysdeps/generic/getpgid.c: Use INTDEF for __getpgid. + * sysdeps/mach/hurd/getpgid.c: Likewise. + * sysdeps/unix/sysv/aix/getpgid.c: Likewise. + * sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise. + * sysdeps/unix/sysv/sysv4/getpgid.c: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Add _getpgid_internal alias. + + * include/unistd.h: Declare __getpagesize_internal and define + __getpagesize macro if not NOT_IN_libc. + * sysdeps/unix/sysv/linux/shmat.c: Include <unistd.h> for + __getpagesize. + * sysdeps/generic/getpagesize.c: Use INTDEF for __getpagesize. + * sysdeps/mach/getpagesize.c: Likewise. + * sysdeps/posix/getpagesize.c: Likewise. + * sysdeps/unix/getpagesize.c: Likewise. + * sysdeps/unix/sysv/linux/getpagesize.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. + * sysdeps/unix/sysv/linux/m68k/getpagesize.c: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise. + +2002-04-13 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/i486/bits/string.h (__strcspn_cg): Use only memory + as clobber to reduce register pressure. + (__strpbrk_cg): Likewise. + (__mempcpy_by4): Likewise. + (__strstr_cg): Likewise. + Add prototype for __memrchr. + +2002-04-13 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/fpu/s_finite.c: Add internal alias. + * sysdeps/m68k/fpu/s_finitef.c: Likewise. + * sysdeps/m68k/fpu/s_finitel.c: Likewise. + +2002-04-13 Ulrich Drepper <drepper@redhat.com> + + * elf/do-lookup.h [!VERSIONED]: Add new parameter flags. Use it to + check whether the caller prefers getting the most recent version of + a symbol of the earliest version. + * elf/dl-lookup.c: Adjust all callers of do_lookup. Change + _dl_do_lookup to also take the new parameter and pass it on. + Change 'explicit' parameter of _dl_lookup_symbol and + _dl_lookup_versioned_symbol to flags. Adjust tests. + * sysdeps/generic/ldsodefs.h: Adjust prototypes. + * elf/dl-libc.c: Adjust all callers of _dl_lookup_symbol and + _dl_lookup_versioned_symbol. + * elf/dl-reloc.c: Likewise. + * elf/dl-runtime.c: Likewise. + * elf/dl-sym.c: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + +2002-04-11 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Don't paste + in a token. + * sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h (LOC): Likewise. + +2002-04-10 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/glob.c: New file. + + * include/argz.h: Remove extra char from last patch. + +2002-04-09 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/mach/hurd/chown.c: Use INTDEF for __chown. + * sysdeps/unix/sysv/aix/chown.c: Likewise. + * sysdeps/unix/grantpt.c: Use INTUSE for __chown calls. + * sysdeps/unix/sysv/linux/m68k/chown.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise. + * sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define + __chown_internal. + * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Likewise. + + * intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext. + * intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE. + * intl/ngettext.c: Likewise. + + * include/sys/socket.h: Declare __connect_internal and define + __connect macro if not NOT_IN_libc. + * sysdeps/mach/hurd/connect.c: Use INTDEF for __connect. + * sysdeps/unix/sysv/aix/connect.c: Likewise. + * sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias. + + * include/unistd.h: Declare __close_internal and define __close macro + if not NOT_IN_libc. + * libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2, + WJUMP3): Add extra parenthesis to avoid expanding element names with + macors like __close. + * sysdeps/unix/syscalls.list: Add __close_internal alias. + + * include/unistd.h: Declare __dup2_internal and define __dup2 macro + if not NOT_IN_libc. + * sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2. + * sysdeps/posix/dup2.c: Use INTDEF for __dup2. + * sysdeps/unix/syscalls.list: Add __dup2_internal alias. + + * include/unistd.h: Declare __fork_internal and define __fork macro + if not NOT_IN_libc. + * sysdeps/mach/hurd/fork.c: Use INTDEF for __fork. + * sysdeps/unix/sysv/aix/fork.c: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias. + + * include/stdio_ext.h: Declare __fsetlocking_internal and define + __fsetlocking macro to use it if not NOT_IN_libc. + * libio/__fsetlocking.c: Use INTDEF for __fsetlocking. + + * libio/__fbufsize.c: Correct copyright. + * libio/__flbf.c: Likewise. + * libio/__fpending.c: Likewise. + * libio/__fpurge.c: Likewise. + * libio/__freadable.c: Likewise. + * libio/__freading.c: Likewise. + * libio/__fsetlocking.c: Likewise. + * libio/__fwritable.c: Likewise. + * libio/__fwriting.c: Likewise. + + * include/stdio.h: Declare __asprintf_internal and define __asprintf + macro to use it if not NOT_IN_libc. + * stdio-common/asprintf.c: Use INTDEF for __asprintf. + + * include/mntent.h: Declare __setmntent_internal, + __getmntent_r_internal, __endmntent_internal. Define __setmntent, + __getmntent_r, and __endmntent macros to use these functions if not + NOT_IN_libc. + * misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and + __endmntent. + + * include/math.h: Declare __finite_internal, __finitef_internal, and + __finitel_internal. Redefine isfinite macro if in libc or libm using + these functions. + * sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls. + * sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls. + * sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls. + * sysdeps/i386/fpu/s_finite.S: Define _internal alias. + * sysdeps/i386/fpu/s_finitef.S: Likewise. + * sysdeps/i386/fpu/s_finitel.S: Likewise. + * sysdeps/ieee754/dbl-64/s_finite.c: Likewise. + * sysdeps/ieee754/flt-32/s_finitef.c: Likewise. + * sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise. + * sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise. + + * include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro + to use this function if not NOT_IN_libc. + * libio/iofdopen.c (_IO_fcntl): Use INTUSE. + * sysdeps/generic/fcntl.c: Use INTDEF for __fcntl. + * sysdeps/mach/hurd/fcntl.c: Likewise. + * sysdeps/unix/sysv/aix/fcntl.c: Likewise. + * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. + + * include/argz.h: Declare __argz_count_internal and + __argz_stringify_internal. + * intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and + __argz_stringify. + * string/argz-count.c: Use INTDEF for __argz_count. + * string/argz-stringify.c: Use INTDEF for __argz_stringify. + + * include/stdlib.h: Declare __cxa_atexit_internal and define + __cxa_atexit macro if not NOT_IN_libc. + * stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit. + * dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c. + + * assert/assert.c: Use INTDEF for __assert_fail. + * assert/__assert.c: Use INTUSE for call to __assert_fail. + * include/assert.h: Declare __assert_fail_internal. + + * extra-lib.mk: Mark assignment to lib with override. + +2002-04-08 Ulrich Drepper <drepper@redhat.com> + + * Makerules: Use cppflags-iterator.mk to add defines for all test + source files. + +2002-04-08 kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf/elf.h: Define R_SH_TLS_xxx macros. + * elf/rtld.c: Remove an extra parenthesis. + * elf/tls-macros.h: Define SH version TLS_LE, TLS_IE, TLS_LD and + TLS_GD macros. + * sysdeps/generic/dl-tls.c: Add a missing semi-colon. + * sysdeps/sh/dl-lookupcfg.h: New file. + * sysdeps/sh/dl-tls.h: New file. + * sysdeps/sh/dl-machine.h (elf_machine_type_class): Set + ELF_RTYPE_CLASS_PLT also for the three TLS relocations. + (elf_machine_rela): Handle R_SH_TLS_DTPMOD32, R_SH_TLS_DTPOFF32 and + R_SH_TLS_TPOFF32 relocations. + +2002-04-08 Ulrich Drepper <drepper@redhat.com> + + * cppflags-iterator.mk (cpp-srcs-left): Define NOT_IN_libc instead + of NOT_IN_LIBC. + * include/libintl.h: Test for NOT_IN_libc not NOT_IN_LIBC. + * include/stdlib.h: Likewise. + +2002-04-08 Jakub Jelinek <jakub@redhat.com> + + * elf/Makefile (CFLAGS-.os): Define NOT_IN_libc and IS_IN_rtld + instead of _RTLD_LOCAL. + * elf/dl-dst.h: Use IS_IN_rtld instead of _RTLD_LOCAL. + * include/unistd.h: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + + * stdio-common/_itoa.h (_itoa_word): Only use internal digit arrays + if in libc or ld.so. + +2002-04-08 Andreas Jaeger <aj@suse.de> + + * elf/cache.c (print_entry): Support x86-64. + +2002-04-08 Ulrich Drepper <drepper@redhat.com> + + * include/stdlib.h: For libc itself replace MB_CUR_MAX definition + with one accessing the locale data structures directly. + * stdio-common/printf-prs.c: Include localeinfo.h for new + MB_CUR_MAX definition. + + * Makeconfig (CPPFLAGS): Also add CPPFLAGS-<basename> where <basename> + is the name of the source file without extension. + * Makefile (distribute): Add cppflags-iterator.mk. + * cppflags-iterator.mk: New file. + * extra-lib.mk: For the sources of the library run + cppflags-iterator.mk. + + * include/libintl.h: Declare __dcgettext_internal and + _libc_intl_domainname_internal. Define __dcgettext using these + two symbols if used in libc itself. + * argp/argp-help.c: Define dgettext using __dcgettext_internal and + _libc_intl_domainname_internal. + * argp/argp-parse.c: Likewise. + * intl/dcgettext.c (__dcgettext): Use INTDEF to define alias. + * intl/dgettext.c: Call __dcgettext_internal instead of __dcgettext. + * intl/gettext.c: Likewise. + * locale/SYS_libc.c (_libc_intl_domainname): Use INTDEF to define + alias. + * posix/regcomp.c (gettext): Use __dcgettext_internal instead of + __dcgettext. + * posix/regex_internal.c (gettext): Likewise. + +2002-04-08 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: Fix rewrite rule. + + * sysdeps/x86_64/fpu/s_llrint.S: New file. + * sysdeps/x86_64/fpu/s_llrintf.S: New file. + * sysdeps/x86_64/fpu/s_llrintl.S: New file. + * sysdeps/x86_64/fpu/s_lrint.S: New file. + * sysdeps/x86_64/fpu/s_lrintf.S: New file. + * sysdeps/x86_64/fpu/s_lrintl.S: New file. + +2002-04-08 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/dl-sysdep.c (__mmap): Use MAP_FAILED instead of + widening __hurd_fail value. + +2002-04-07 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/alpha/trampoline.c: Don't include + <mach/machine/alpha_instruction.h>. + (_hurd_setup_sighandler): Take proper arguments for current decls. + Update code to use _hurdsig_catch_fault. + Use `callsys' instruction instead of `call_pal'. + * sysdeps/mach/hurd/alpha/intr-msg.h: New file. + + * sysdeps/mach/alpha/sysdep.h: Include <mach/alpha/asm.h>. + (ALIGN, at, AT, fp): New macros. + +2002-04-06 Roland McGrath <roland@frob.com> + + * mach/setup-thread.c (__mach_setup_thread): int -> natural_t + + * sysdeps/mach/hurd/dl-sysdep.c: Use ElfW(TYPE) in place of Elf32_TYPE. + (__mmap): Use MAP_FAILED instead of widening __hurd_fail value. + + * sysdeps/mach/hurd/bind.c: Use prototype definition. + * sysdeps/mach/hurd/connect.c: Likewise. + * sysdeps/mach/hurd/getsockopt.c: Likewise. + * sysdeps/mach/hurd/setsockopt.c: Likewise. + + * sysdeps/mach/hurd/alpha/sigreturn.c: Pass missing argument to + __msg_sig_post RPC. + + * hurd/catch-exc.c: Use integer_t instead of int. + * hurd/hurdfault.c: Likewise. + + * sysdeps/mach/hurd/alpha/exc2signal.c + (_hurd_exception2signal): Rewritten. + * sysdeps/mach/hurd/alpha/longjmp-ts.c + (_hurd_longjmp_thread_state): Rewritten. + +2002-04-07 Ulrich Drepper <drepper@redhat.com> + + * nss/getXXbyYY_r.c: If NSS_attribute_hidden is defined use it with the + DB_LOOKUP_FCT prototype. + * nss/getXXent_r.c: Likewise. + * inet/getaliasent_r.c: Define NSS_attribute_hidden. + * inet/getaliasname_r.c: Likewise. + * inet/getnetbyad_r.c: Likewise. + * inet/getnetbynm_r.c: Likewise. + * inet/getnetent_r.c: Likewise. + * inet/getproto_r.c: Likewise. + * inet/getprtent_r.c: Likewise. + * inet/getprtname_r.c: Likewise. + * inet/getrpcbyname_r.c: Likewise. + * inet/getrpcbynumber_r.c: Likewise. + * inet/getrpcent_r.c: Likewise. + * inet/getservent_r.c: Likewise. + * inet/getsrvbynm_r.c: Likewise. + * inet/getsrvbypt_r.c: Likewise. + * shadow/getspent_r.c: Likewise. + * shadow/getspnam_r.c: Likewise. + + * malloc/thread-m.h: Define __libc_tsd_MALLOC_data as static. + + * sysdeps/i386/elf/bsd-setjmp.S: Use GOTOFF for __sigjmp_save access. + Use i686-friendly PIC code. + * sysdeps/i386/elf/setjmp.S: Likewise. + + * sysdeps/unix/sysv/linux/i386/sysdep.h: Use i686-friendly PIC code. + + * sysdeps/mach/hurd/Versions: Add _dl_init_first to libc and ld export + list. + * elf/Versions: Remove it here. + +2002-04-06 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/tcvn5712-1.c (MAX_NEEDED_INPUT): Define for from + direction. Reported by H . J . Lu <hjl@lucon.org>. + +2002-04-05 Ulrich Drepper <drepper@redhat.com> + + * intl/tst-gettext.sh: Set GCONV_PATH and LOCPATH to values for the + test just before the test runs. + * intl/tst-translit.sh: Likewise. + * intl/tst-codeset.sh: Likewise. + + * timezone/zic.c: Update from tzcode2002c. + * timezone/asia: Update from tzdata2002c. + * timezone/backward: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + * timezone/northamerica: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2002-03-23 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/brk.c (__curbrk): Declare. + * sysdeps/generic/dl-brk.c: Add attribute_hidden to __curbrk. + * sysdeps/generic/dl-sbrk.c: Likewise. + * sysdeps/unix/arm/dl-brk.S: New file. + * sysdeps/unix/bsd/hp/m68k/dl-brk.S: New file. + * sysdeps/unix/bsd/osf/alpha/dl-brk.S: New file. + * sysdeps/unix/bsd/sun/m68k/dl-brk.S: New file. + * sysdeps/unix/bsd/vax/dl-brk.S: New file. + * sysdeps/unix/i386/dl-brk.S: New file. + * sysdeps/unix/mips/dl-brk.S: New file. + * sysdeps/unix/sparc/dl-brk.S: New file. + * sysdeps/unix/sysv/linux/alpha/dl-brk.S: New file. + * sysdeps/unix/sysv/linux/ia64/dl-brk.S: New file. + * sysdeps/unix/sysv/linux/powerpc/dl-brk.S: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S: New file. + +2002-04-03 Andreas Schwab <schwab@suse.de> + + * Makefile (headers): Add gnu/lib-names.h here instead of + install-others. + ($(inst_includedir)/gnu/lib-names.h): Remove explicit + installation rule. + (install-headers): Add dependency on install-headers-nosubdir. + * stdio-common/Makefile (headers): Add bits/stdio_lim.h here + instead of install-others. + ($(inst_includedir)/bits/stdio_lim.h): Remove explicit + installation rule. + +2002-04-05 Ulrich Drepper <drepper@redhat.com> + + * manual/users.tex (Enable/Disable Setuid): Fix typo in example. + Reported by Sam Roberts <sroberts@uniserve.com>. + +2002-04-03 Jakub Jelinek <jakub@redhat.com> + + * elf/do-rel.h (elf_dynamic_do_rel): Skip relative relocs if + l_addr == 0 and ELF_MACHINE_REL_RELATIVE. + * sysdeps/alpha/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. + * sysdeps/ia64/dl-machine.h (ELF_MACHINE_REL_RELATIVE): Define. + +2002-04-03 David Mosberger <davidm@hpl.hp.com> + + * sysdeps/ia64/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind info. + (RTLD_START): Ditto. + (__ia64_init_bootstrap_fdesc_table): Insert stop bit to avoid RAW + dependency violation. + +2002-04-05 Jakub Jelinek <jakub@redhat.com> + + * time/mktime.c (__mktime_internal): Move check for year < 70 below + all variable declarations. + +2002-04-04 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/ia64/pipe.S: Don't overwrite r8 on error. + +2002-04-04 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/fpu/e_sqrt.c: New file. + * sysdeps/x86_64/fpu/e_sqrtf.c: New file. + + * sysdeps/x86_64/fpu/s_fabs.c: New file. + * sysdeps/x86_64/fpu/s_fabsf.c: New file. + * sysdeps/x86_64/fpu/s_fabsl.c: New file. + + * sysdeps/unix/sysv/linux/x86_64/time.S: New file. + + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.S: New file. + + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: Removed. + * sysdeps/unix/sysv/linux/x86_64/time.c: Removed. + + * configure.in: Handle all mips entries the same. + + * sysdeps/mips/dec/bits/endian.h: Removed since arch is not supported. + * sysdeps/mips/mips3/*: Likewise. + * sysdeps/mips/p40/bits/endian.h: Likewise. + +2002-04-04 Ulrich Drepper <drepper@redhat.com> + + * misc/dirname.c (dirname): Ignore trailing slashes at end of + non-null result [PR libc/2600]. + + * misc/tst-dirname.c: Add more tests. + +2002-04-03 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/charmap.c (charmap_read): If the charmap doesn't + define a code_set_name provide one based on the filename. + + * malloc/hooks.c: Define weak_variable correctly for _LIBC. + +2001-12-28 Andreas Jaeger <aj@suse.de> + + * time/mktime.c (__mktime_internal): Check for year < 70 + [PR libc/2738]. + +2002-04-03 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments for + shmat. + Reported by Andi Kleen <ak@suse.de>. + +2002-04-03 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/w_lgamma.c: Initialized local_signgam. + * sysdeps/generic/w_lgammaf.c: Likewise. + * sysdeps/generic/w_lgammal.c: Likewise [PR libc/2854]. + + * debug/catchsegv.sh (exval): Quote [ in pattern [PR libc/2902]. + Adjust for new output format of the backtrace functions. + + * misc/syslog.c (vsyslog): Only use cleanup handler if + _LIBC_REENTRANT is defined [PR libc/2924]. + + * libio/Makefile (tests): Add bug-ungetwc2. + * libio/bug-ungetwc2.c: New file. + + * manual/install.texi: Typographical and grammatical cleanup. + Patch by Dennis Grace <dgrace@us.ibm.com>. + + * sunrpc/rpc_svcout.c (write_real_program): Write "result, " + parameter if mtflag. Patch by <jeongyun@innovay.com>. + + * sunrpc/rpc_svcout.c (printif): Remove third parameter. It was + always "&". Adjust callers. + Add "_" prefix to several generated definitions. + Patch by paul@serice.net [PR libc/3158]. + +2002-04-02 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Completely specify + size of _dl_arm_cap_flags. + Patch by enrico.scholz@informatik.tu-chemnitz.de [PR libc/3155]. + + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_DL_HWCAP_COUNT): + Define as 8. + +2002-03-22 H.J. Lu <hjl@gnu.org> + + * scripts/firstversions.awk: Check the first version. + +2002-04-02 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-deps.c (_dl_map_object_deps): The sorting of the + dependencies must be stable to work correctly. + Reported by martin.lubich@datacon.at. + + * libio/bug-ungetwc1.c: New file. + * libio/Makefile (tests): Add bug-ungetwc1. + + * libio/fileops.c (_IO_new_file_close_it): Only call _IO_do_flush + if stream was last used for writing. + + * elf/do-lookup.h (do_lookup): 2 is the first user-defined version + number [PR libc/3111]. + + * libio/iofclose.c (_IO_new_fclose): Move freeing of backup buffer + to ... + * libio/fileops.c (_IO_new_file_close_it): ...here [PR libc/3190]. + +2002-04-02 Jakub Jelinek <jakub@redhat.com> + + * inet/ether_ntoh.c (__nss_ethers_lookup): Add internal_function. + * inet/ether_hton.c (__nss_ethers_lookup): Likewise. + * inet/getnetgrent_r.c (__nss_netgroup_lookup): Likewise. + * sunrpc/netname.c (__nss_publickey_lookup): Likewise. + * sunrpc/publickey.c (__nss_publickey_lookup): Likewise. + +2002-03-30 Jakub Jelinek <jakub@redhat.com> + + * elf/dynamic-link.h (elf_get_dynamic_info): Don't abort on unknown + dynamic tags. + +2002-03-29 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/i386/fpu/s_fabs.S: New file. + * sysdeps/i386/fpu/s_fabsf.S: New file. + * sysdeps/i386/fpu/s_fabsl.S: New file. + * sysdeps/sparc/sparc64/fpu/s_fabs.c: New file. + * sysdeps/sparc/sparc64/fpu/s_fabsf.c: New file. + * sysdeps/sparc/sparc64/fpu/s_fabsl.c: New file. + +2002-04-02 Ulrich Drepper <drepper@redhat.com> + + * rt/tst-shm.c (do_test): Add one more test for size of shared + memory object. + +2002-03-29 Wolfram Gloger <wg@malloc.de> + + * malloc/malloc.c: Add short description and prototypes for + malloc_get_state, malloc_set_state and posix_memalign, for + consistency and to avoid warnings with -Wstrict-prototypes. + Reported by Andreas Jaeger <aj@suse.de>. + +2002-04-02 Ulrich Drepper <drepper@redhat.com> + + * po/gl.po: Update from translation team. + +2002-03-31 Roland McGrath <roland@frob.com> + + * hurd/hurdselect.c (_hurd_select): Fix + MACH_MSG_TYPE_INTEGER_T -> integer_t in sizeof. + Use a union rather than casts to compare mach_msg_type_t as int. + +2002-03-25 Roland McGrath <roland@frob.com> + + * hurd/hurdchdir.c (_hurd_change_directory_port_from_name): Don't + check off the end of NAME when it's shorter than 2 chars. + Reported by Ognyan Kulev <ogi@fmi.uni-sofia.bg>. + +2002-03-17 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/sys/io.h: New file. + * sysdeps/mach/hurd/i386/ioperm.c: New file. + * sysdeps/mach/hurd/i386/Dist: Add them. + * sysdeps/mach/hurd/i386/Versions + (libc: GLIBC_2.2.6): New set, add ioperm. + * sysdeps/mach/configure.in: New check to set HAVE_I386_IO_PERM_MODIFY. + (mach_interface_list): Check for mach_i386.defs. + * config.h.in (HAVE_I386_IO_PERM_MODIFY): #undef it. + * sysdeps/mach/configure: Regenerated. + +2002-03-22 Ulrich Drepper <drepper@redhat.com> + + * po/fr.po: Update from translation team. + +2002-03-21 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Remove + getpriority from syscalls list. + +2002-03-28 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/x86_64/getcontext.S: New file. + * sysdeps/unix/sysv/linux/x86_64/setcontext.S: New file. + * sysdeps/unix/sysv/linux/x86_64/ucontext_i.h: New file. + +2002-03-27 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct + sigcontext): Follow further kernel change. + + * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Follow further + kernel change. + + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (GET_STACK): + Change for struct sigcontext change. + + * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): + Follow changes in struct sigcontext. + + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Remove ptrace + sysycall, use wrapper instead. + +2002-03-26 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/i486/bits/string.h (__memcpy_by4): Describe memory + read and write accesses as detailed as possible. + (__memcpy_by2): Likewise. + (__memcpy_g): Likewise. + (memmove): Likewise. + (memcmp): Likewise. + (__memset_ccn_by4): Likewise. + (__memset_ccn_by2): Likewise. + (__memset_gcn_by4): Likewise. + (__memset_gcn_by2): Likewise. + (memchr): Likewise. + (__memrchr): Likewise. + (rawmemchr): Likewise. + (__strlen_g): Likewise. + (__strcpy_g): Likewise. + (__mempcpy_by4): Likewise. + (__mempcpy_by2): Likewise. + (__mempcpy_byn): Likewise. + (__stpcpy_g): Likewise. + (__strncpy_by4): Likewise. + (__strncpy_by2): Likewise. + (__strncpy_byn): Likewise. + (__strncpy_gg): Likewise. + (__strcat_c): Likewise. + (__strcat_g): Likewise. + (__strncat_g): Likewise. + (__strcmp_gg): Likewise. + (__strncmp_g): Likewise. + (__strchr_c): Likewise. + (__strchr_g): Likewise. + (__strchrnul_c): Likewise. + (__strchrnul_g): Likewise. + (__strrchr_c): Likewise. + (__strrchr_g): Likewise. + (__strrchr_c): Likewise. + (__strrchr_g): Likewise. + (__strcspn_c1): Likewise. + (__strcspn_cg): Likewise. + (__strcspn_g): Likewise. + (__strcspn_g): Likewise. + (__strspn_c1): Likewise. + (__strspn_cg): Likewise. + (__strspn_g): Likewise. + (__strspn_g): Likewise. + (__strpbrk_cg): Likewise. + (__strpbrk_g): Likewise. + (__strstr_cg): Likewise. + (__strstr_g): Likewise. + + * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Fix typo. Reported by + Michal Ludvig <mludvig@suse.cz>. + + * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: Add 32-bit + compatibilty, adjust for kernel changes. + + * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct + sigcontext): Adjust for kernel changes. + +2002-03-25 Andreas Jaeger <aj@suse.de> + + * iconv/gconv_simple.c (ucs4le_internal_loop_single): Handle + little endian. + Reported by Artur Zaprzala <zybi@talex.com.pl>. + +2002-03-24 Andreas Jaeger <aj@suse.de> + + * manual/memory.texi (Aligned Memory Blocks): Fix typo. + + * stdio-common/tst-fdopen.c (main): Remove unused variable. + + * iconv/tst-iconv3.c (main): Use correct printf strings. + +2002-03-18 Roland McGrath <roland@frob.com> + + * sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsgcred): New type. + (CMGROUP_MAX): New macro. + +2002-03-23 Roland McGrath <roland@frob.com> + + * sysdeps/posix/shm_open.c (SHMDIR): /var/run/shm -> /dev/shm + * sysdeps/posix/shm_unlink.c: Likewise. + +2002-03-22 Roland McGrath <roland@frob.com> + + * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Make 2.2.6 default. + * sysdeps/mach/hurd/configure.in: Default oldest ABI is 2.2.6 + under --enable-libio. + * sysdeps/mach/hurd/configure: Regenerated. + +2002-03-23 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/Makefile + (sysdep_routines, shared-only-routines): Don't add framestate, + reverting 2001-10-02 change. + * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. + * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. + * sysdeps/unix/sysv/linux/mips/Makefile: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. + * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise. + * sysdeps/generic/Makefile (sysdep_routines, shared-only-routines): + Do it here instead, only if [$(unwind-find-fde) = yes]. + +2002-03-23 Andreas Jaeger <aj@suse.de> + + * signal/signal.h: Fix typo. Patch by Steve Kemp + <skx@tardis.ed.ac.uk>. + +2002-03-22 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add getresgid and + getresuid. + + * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct + _fpstate): Rename fwd to ftw, use _fpxreg and _xmmreg. + * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct + user_fpregs_struct): Rename fwd. + + * sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump): + Follow sigcontext changes. + +2002-03-22 Andreas Jaeger <aj@suse.de> + + * sysdeps/mips/bits/nan.h: New file. Copy from generic one with + changes for NaNs on MIPS. + Patch by Hartvig Ekner <hartvige@mips.com>. + +2002-03-21 Ulrich Drepper <drepper@redhat.com> + + * nscd/grpcache.c (addgrbyname): Improve buffer allocate with alloca. + Use realloc if too large. + (addgrbyid): Likewise. + * nscd/hstcache.c (addhstbyname): Likewise. + (addhstbyaddr): Likewise. + (addhstbynamev6): Likewise. + (addhstbyaddrv6): Likewise. + * nscd/pwdcache.c (addpwbyname): Likewise. + (addpwbyuid): Likewise. + +2002-03-21 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (struct + _fpstate): Add separate struct for x86-64. + + * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct + user_fpregs_struct): Change member names to follow kernel. + +2002-03-20 Ulrich Drepper <drepper@redhat.com> + + * nis/ypclnt.c (yp_all): Remove the hack introduced on 1998-09-29. + Correctly close the UDP connection right away [PR libc/3120]. + +2002-03-20 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct + user_fpregs_struct): Fix for changed kernel struct. + (struct user_regs_struct): Likewise. + (struct user): Likewise. + Add 32-bit x86 compatibility. + + * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add more registers. + +2002-03-19 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Cleanup x86 types. + +2002-03-18 Andreas Jaeger <aj@suse.de> + + * iconvdata/Makefile: Only run tests when shared libs are + available. + +2002-03-17 Andreas Jaeger <aj@suse.de> + + * sysdeps/mips/fpu/fraiseexcpt.c (__feraiseexcept): Set cause bits. + + * sysdeps/mips/fpu/fgetexcptflg.c (__fegetexceptflag): Add comment. + + * sysdeps/mips/fpu/fclrexcpt.c (__feclearexcept): Clear also cause + bits. + + * sysdeps/mips/fpu/fenv_libc.h (CAUSE_MASK): New macro. + (CAUSE_SHIFT): New macro. + Patch by Hartvig Ekner <hartvige@mips.com>. + + * sysdeps/generic/unwind-dw2-fde-glibc.c: Add prototypes. + * sysdeps/generic/unwind-pe.h: Likewise. + + * libio/iofdopen.c (_IO_new_fdopen): Pass parameter of correct + type to _IO_setb. + + * libio/stdio.c (AL2): Define variant when visibility attribute is + not supported. + + * include/libc-symbols.h (_INTVARDEF): Define variant when + visibility attribute is not supported. + +2002-03-16 Ulrich Drepper <drepper@redhat.com> + + * po/fr.po: Update from translation team. + +2002-02-25 Bruno Haible <bruno@clisp.org> + + * MakeTAGS (extract): Use --sort-by-file instead of --sort-output. + +2002-03-15 Ulrich Drepper <drepper@redhat.com> + + * libio/iofdopen.c (_IO_new_fdopen): Call _IO_setb to deallocate + buffers if _IO_file_attach failed. + + * libio/fileops.c (_IO_file_open): Close file descriptor if + _IO_SEEKOFF call failed. + +2002-03-15 H.J. Lu <hjl@gnu.org> + Ulrich Drepper <drepper@redhat.com> + + * configure.in: Check for availability of + init_array/fini_array/preinit_array handling in binutils. + * config.h.in (HAVE_INITFINI_ARRAY): New macro. + * config.make.in (have-initfini-array): New variable. + +2002-03-15 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/tst-printf.c (main): Comment out one test which + checked the compiler's ability to fold floating-point constants + but not really printf. + (rfg3): Make s const. + * stdio-common/tst-printf.sh: Adjust for removed test. + + * sysdeps/i386/i386-mcount.S: Just call __mcount_internal, it is an + internal function. Adjust for internal_function calling convention. + * sysdeps/i386/machine-gmon.h: Declare and define __mcount_internal + as internal_function. + + * sysdeps/generic/framestate.c: Declare fallback_frame_state_for as + hidden. + + * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add internal_function to + declaration and definition. + * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Add internal_function to + declaration. + * nss/getXXent_r.c: Likewise. + * nss/nsswitch.h (db_lookup_function): Add internal_function to + definition. + + * include/time.h: Declare __localtime_r as hidden. + + * include/aliases.h: Declare __getaliasent_r as hidden. + * include/grp.h: Declare __getgrent_r as hidden. + * include/netdb.h: Declare __gethostent_r, __getnetent_r, + __getservent_r, and __getprotoent_r as hidden. + * include/pwd.h: Declare __getpwent_r as hidden. + * include/shadow.h: Declare __getspent_r as hidden. + * include/rpc/netdb.h: Declare __getrpcent_r as hidden. + + * iconv/gconv_int.h: Declare __gconv_read_conf, __gconv_alias_compare, + and __gconv_transliterate as hidden. + Add internal_function to __gconv_get_path declaration. + * iconv/gconv_conf.c: Add internal_function to __gconv_get_path + definition. Add attribute_hidden to __gconv_read_conf definition. + +2002-03-14 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c: Declare _environ as hidden. + * sysdeps/generic/dl-environ.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + + * sysdeps/generic/ldsodefs.h: Declare _dl_debug_state_internal and + _dl_mcount_internal as hidden. + + * elf/Makefile (rtld-routines): Add dl-sbrk and dl-brk. + * sysdeps/generic/dl-brk.c: New file. + * sysdeps/generic/dl-sbrk.c: New file. + * sysdeps/unix/sysv/linux/i386/dl-brk.c: New file. + * sysdeps/unix/sysv/linux/i386/dl-sbrk.c: New file. + + * elf/dl-minimal.c (malloc): Declare _end as hidden. + (__errno_location): New function. Declare errno as hidden. + * elf/rtld.c (_dl_argc): Define as hidden. + (_dl_skip_args): Define as hidden. + (_begin, _end): Declare as hidden. + * sysdeps/generic/dl-sysdep.c (_end): Declare as hidden. + * sysdeps/generic/entry.h (_start): Declare as hidden. + * sysdeps/generic/ldsodefs.h (_dl_argc): Declare as hidden. + * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Declare + _dl_runtime_resolve and _dl_runtime_profile as hidden. + (RTLD_START): Use GOTOFF to access _dl_skip_args and _dl_fini. + +2002-03-14 Roland McGrath <roland@frob.com> + + * Makerules ($(common-objpfx)Versions.v.i): Depend on abi-versions.h. + + * Makeconfig (%.v.i, %.v): New implicit rules. + (preprocess-versions): Variable removed. + ($(common-objpfx)shlib-versions.v.i): New target giving just the + shlib-versions input files as dependencies. + ($(common-objpfx)soversions.i): Depend on that instead of the input + files. Use it as input instead of using a pipeline. + (postclean-generated): Append soversions.i, shlib-versions.v, and + shlib-versions.v.i here. + * Makerules ($(common-objpfx)Versions.def.v.i): New target giving just + the Versions.def input files as dependencies. + ($(common-objpfx)Versions.v.i): Likewise for Versions files. + ($(common-objpfx)Versions.all): Depend on that instead of the input + files. Use it as input instead of using a pipeline. + ($(common-objpfx)sysd-versions): Likewise with Versions.v.i. + (postclean-generated): Append those .v and .v.i files here. + +2002-03-14 Jakub Jelinek <jakub@redhat.com> + + * locale/broken_cur_max.c (__ctype_get_mb_cur_max): Use nl_langinfo. + * locale/Versions (_nl_current_LC_COLLATE, _nl_current_LC_CTYPE): + Remove. + +2002-03-14 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/mp_clz_tab.c: New file. + * sysdeps/i386/mp_clz_tab.c: New file. + * sysdeps/hppa/mp_clz_tab.c: New file. + * sysdeps/powerpc/mp_clz_tab.c: New file. + * stdlib/Makefile (aux): Revert last patch. + * math/Makefile (gmp-objs): Likewise. + +2002-03-13 Paul Eggert <eggert@twinsun.com> + + * time/strftime.c: Comment fixes for references to obsolescent + standards, In most cases the simplest fix is to remove the + confusing comments. Cross-referencing all the standards properly + is a bit of a pain, and it should be enough to put that info in + the documentation as I did in my recent time.texi patch. + +2002-03-13 Paul Eggert <eggert@twinsun.com> + + * manual/time.texi (Formatting Calendar Time): + ISO C99 also specifies the E and O modifiers. + %P is a GNU extension, and is not in ISO C99. + Mention that %r is equivalent to %I:%M:%S %p in the POSIX locale. + %T is also in ISO C99. + The RFC 822 example is not valid in arbitrary locales. + Reword the POSIX.2 wording slightly, to make it a bit clearer + that POSIX.2 formats are also supported by later POSIX versions. + If a format was introduced in ISO C99 it is also required by + POSIX.1-2001. + +2002-03-13 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/gnu/errlist.awk: Define _sys_errlist_internal and + _sys_nerr_internal with INTVARDEF2. + * include/libc-symbols.h (INTVARDEF2): New macro. + * include/stdio.h (_sys_errlist_internal): Declare as hidden. + (_sys_nerr_internal): Library. + + * sysdeps/posix/signal.c (_sigintr): Define as hidden. + * sysdeps/posix/sigintr.c (_sigintr): Declare as hidden. + + * stdio-common/tst-printf.sh: Adjust for last change in tst-printf.c. + +2002-03-13 Wolfram Gloger <wg@malloc.de> + + * malloc/malloc.c (sYSMALLOc): Don't change brk if mmap failed. + +2002-03-02 Andreas Schwab <schwab@suse.de> + + * stdio-common/vfprintf.c (process_arg): Fix decimal format with + 'h' flag and positional arg. + * stdio-common/tst-printf.c (rfg3): New function to test + positional arguments. + (main): Fix some warnings. + +2002-03-13 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-minimal.c (_itoa): Use _itoa_lower_digits_internal if SHARED. + * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise. + +2002-03-13 Ulrich Drepper <drepper@redhat.com> + + * grp/initgroups.c (__nss_group_data): Declare as hidden. + + * include/locale.h (_nl_C_locobj): Declare as hidden. + + * time/asctime.c (_nl_C_LC_TIME): Declare as hidden. + * time/strptime.c (_nl_C_LC_TIME): Likewise. + + * include/netinet/in.h (in6addr_any_internal): Mark as hidden. + + * include/sys/gmon.h: Declare _gmonparam as hidden. + + * locale/lc-ctype.c (__ctype32_wctype): Declare as hidden. + (__ctype32_wctrans): Likewise. + (__ctype32_width): Likewise. + + * sysdeps/unix/sysv/linux/ttyname.c: Comment out definition and + use of __ttyname. + + * posix/regcomp.c (__re_error_msgid): Renamed from re_error_msgid. + Define as hidden. + (__re_error_msgid_idx): Renamed from re_error_msgid_idx. Define as + hidden. Change all users of these variables. + + * posix/regex_internal.h (__re_error_msgid): Renamed from + re_error_msgid. Declare as hidden. + (__re_error_msgid_idx): Renamed from re_error_msgid_idx. Declare as + hidden. + + * stdio-common/reg-printf.c (__printf_arginfo_table): Define as hidden. + (__printf_function_table): Likewise. + * stdio-common/printf-parse.h (__printf_arginfo_table): Declare as + hidden. + (__printf_function_table): Likewise. + + * nscd/nscd_proto.h: Declare __nss_not_use_nscd_passwd, + __nss_not_use_nscd_group, and __nss_not_use_nscd_hosts as hidden. + + * nss/XXX-lookup.c (DATABASE_NAME_SYMBOL): Define as hidden. + * nss/nsswitch.c: Declare _nss_*_database as hidden. + + * stdlib/wctomb.c (__no_r_state): Declare as hidden. + * stdlib/mbtowc.c (__no_r_state): Define as hidden. + +2002-03-12 Ulrich Drepper <drepper@redhat.com> + + * ctype/ctype-info.c: Declare _nl_C_LC_CTYPE_class, + _nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower, + _nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower, + _nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit, + _nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space, + _nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph, + _nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl, + _nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum, + _nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, and + _nl_C_LC_CTYPE_width: Declare as hidden. + * include/locale.h: Declare _nl_locale_file_list. + * locale/C-address.c: Define _nl_C_LC_ADDRESS as hidden. + * locale/C-collate.c: Define _nl_C_LC_COLLATE as hidden. + * locale/C-identification.c: Define _nl_C_LC_IDENTIFICATION as hidden. + * locale/C-measurement.c: Define _nl_C_LC_MEASUREMENT as hidden. + * locale/C-messages.c: Define _nl_C_LC_MESSAGES as hidden. + * locale/C-monetary.c: Define _nl_C_LC_MONETARY as hidden. + * locale/C-name.c: Define _nl_C_LC_NAME as hidden. + * locale/C-numeric.c: Define _nl_C_LC_NUMERIC as hidden. + * locale/C-paper.c: Define _nl_C_LC_PAPER as hidden. + * locale/C-telephone.c: Define _nl_C_LC_TELEPHONE as hidden. + * locale/C-time.c: Define _nl_C_LC_TIME as hidden. + * locale/C-ctype.c: Define _nl_C_LC_CTYPE_class, + _nl_C_LC_CTYPE_class32, _nl_C_LC_CTYPE_toupper, _nl_C_LC_CTYPE_tolower, + _nl_C_LC_CTYPE_class_upper, _nl_C_LC_CTYPE_class_lower, + _nl_C_LC_CTYPE_class_alpha, _nl_C_LC_CTYPE_class_digit, + _nl_C_LC_CTYPE_class_xdigit, _nl_C_LC_CTYPE_class_space, + _nl_C_LC_CTYPE_class_print, _nl_C_LC_CTYPE_class_graph, + _nl_C_LC_CTYPE_class_blank, _nl_C_LC_CTYPE_class_cntrl, + _nl_C_LC_CTYPE_class_punct, _nl_C_LC_CTYPE_class_alnum, + _nl_C_LC_CTYPE_map_toupper, _nl_C_LC_CTYPE_map_tolower, + _nl_C_LC_CTYPE_width, and as hidden. + * locale/findlocale.c: Declare _nl_C as hidden. + * locale/newlocale.c: Likewise. + * locale/setlocale.c: Define _nl_C as hidden. Remove declaration of + _nl_locale_file_list. + * locale/xlocale.c: Declare _nl_C_LC_CTYPE_class, + _nl_C_LC_CTYPE_toupper, and _nl_C_LC_CTYPE_tolower as hidden. + Define _nl_C_locobj as hidden. + + * malloc/mtrace.c (_mtrace_file): Define as hidden. + (_mtrace_line): Likewise. + + * include/time.h: Declare __mon_yday as hidden. + * time/strptime.c [_LIBC] (__mon_yday): Remove declaration. + + * libio/libioP.h: Declare __libio_codecvt as hidden. + * libio/fileops.c: Declare __libio_translit as hidden. + * libio/iofwide.c: Define __libio_translit as hidden. + + * login/getutent_r.c: Define __libc_utmp_lock as hidden. + * login/getutid_r.c: Declare __libc_utmp_lock as hidden. + * login/getutline_r.c: Likewise. + * login/utmpname.c: Likewise. + + * login/utmp-private.h: Declare __libc_utmp_file_functions, + __libc_utmp_unknown_functions, __libc_utmp_jump_table, and + __libc_utmp_file_name as hidden. + + * locale/setlocale.c (__libc_setlocale_lock): Define as hidden. + * locale/duplocale.c (__libc_setlocale_lock): Declare as hidden. + * locale/freelocale.c: Likewise. + * locale/lc-time.c: Likewise. + + * sysdeps/unix/bsd/getpt.c (__libc_ptyname1): Define as hidden. + (__libc_ptyname2): Likewise. + * sysdeps/unix/sysv/linux/ptsname.c (__libc_ptyname1): Declare as + hidden. + (__libc_ptyname2): Likewise. + + * sysdeps/generic/sbrk.c: Declare __libc_multiple_libcs as hidden. + * sysdeps/arm/init-first.c (__libc_multiple_libcs): Define as hidden. + * sysdeps/generic/init-first.c: Likewise. + * sysdeps/i386/init-first.c: Likewise. + * sysdeps/mach/hurd/i386/init-first.c: Likewise. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. + * sysdeps/sh/init-first.c: Likewise. + * sysdeps/unix/sysv/aix/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + + * stdio-common/itowa-digits.c (_itowa_lower_digits): Define as hidden. + (_itowa_upper_digits): Likewise. + + * libio/stdio.c (_IO_stdin, _IO_stdout, _IO_stderr): Define as hidden. + * libio/libio.h [_LIBC] (_IO_stdin, _IO_stdout, _IO_stderr): Declare + as hidden. + + * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps, + _IO_wfile_jumps_mmap, _IO_proc_jumps, _IO_old_proc_jumps, + _IO_str_jumps, _IO_wstr_jumps, _IO_file_jumps_internal, + _IO_wfile_jumps_internal, and _IO_list_all_internal as hidden. + + * gmon/gmon.c (__bb_head): Define as hidden. + * gmon/bb_exit_func.c (__bb_head): Declare as hidden. + + * argp/argp-parse.c (_argp_hang): Define as static. + + * include/libc-symbols.h (_INTVARDEF): Adjust for visibility + handling in latest compilers. + + * inet/in6_addr.c (in6addr_any): Use INTVARDEF not INTDEF to + define alias. + * libio/fileops.c (_IO_file_jumps): Likewise. + * libio/stdfiles.c (_IO_list_all): Likewise. + * libio/wfileops.c (_IO_wfile_jumps): Likewise. + + * malloc/malloc.h: Move __libc_malloc_initialized declaration to + include/malloc.h. + * include/malloc.h: Add __libc_malloc_initialized declaration + here. Mark variable hidden. + * malloc/malloc.c: Include <malloc.h> not "malloc.h". + + * elf/dl-open.c (__libc_argc): Declare as hidden. + (__libc_argv): Likewise. + * sysdeps/generic/wordexp.c (__libc_argc): Declare as hidden. + (__libc_argv): Likewise. + * sysdeps/mach/hurd/i386/init-first.c: Define __libc_argc and + __libc_argv as hidden. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. + * sysdeps/unix/sysv/aix/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + + * include/stdlib.h (__libc_drand48_data): Declare as hidden. + * stdlib/drand48.c: Remove declaration of __libc_drand48_data here. + * stdlib/erand48.c: Likewise. + * stdlib/jrand48.c: Likewise. + * stdlib/lcong48.c: Likewise. + * stdlib/lrand48.c: Likewise. + * stdlib/mrand48.c: Likewise. + * stdlib/nrand48.c: Likewise. + * stdlib/seed48.c: Likewise. + * stdlib/srand48.c: Likewise. + + * stdio-common/_itoa.c (_itoa_base_table): Declare as hidden. + (_itoa_lower_digits_internal): New declaration. + (_itoa_upper_digits_internal): New declaration. + (_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. + * stdio-common.h (_itoa_lower_digits_internal): New declaration. + (_itoa_upper_digits_internal): New declaration. + (_itoa_word): Use INTUSE to acces _itoa_upper_digits and + _itoa_lower_digits. + * stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits. + * stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits. + + * elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden. + * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise. + + * stdio-common/_itowa.c (_itoa_base_table): Declare as hidden. + (_itowa_lower_digits): Likewise. + (_itowa_upper_digits): Likewise. + * stdio-common/_itowa.h (_itowa_lower_digits): Likewise. + (_itowa_upper_digits): Likewise. + + * intl/plural-exp.h (attribute_hidden): Define as empty macro if + not already defined. + (GERMANIC_PLURAL): Declare as hidden. + + * posix/getopt.c (__getopt_initialized): Declare as hidden. + (attribute_hidden): Define as empty macro if not already defined. + + * iconv/gconv_int.h (__gconv_path_elem): Declare hidden. + (__gconv_max_path_elem_len): Likewise. + (__gconv_path_envvar): Likewise. + + * math/Makefile (gmp-objs): Remove mp_clz_tab. + * stdlib/Makefile (aux): Remove mp_clz_tab. + * stdlib/mp_clz_tab.c: Removed. Not needed anywhere. + + * stdlib/exit.h (__exit_funcs): Declare as hidden. + + * posix/bug-regex5.c (main): Use nl_langinfo instead of _NL_CURRENT. + + * locale/localeinfo.h: Add attribute_hidden to _nl_current_LC_XXX, + _nl_category_names, _nl_category_name_sizes, _nl_current, + _nl_C_name, _nl_POSIX_name, _nl_C_codeset, and _nl_C_LC_XXX. + + * intl/dcigettext.c (_nl_default_default_domain): Define as hidden. + (_nl_current_default_domain): Likewise + (_nl_state_lock): Likewise. + * intl/textdomain.c (_nl_default_default_domain): Declare as hidden. + (_nl_current_default_domain): Likewise + (_nl_state_lock): Likewise. + * intl/bindtextdom.c (_nl_state_lock): Likewise. + + * stdlib/fpioconst.h (__tens): Add attribute_hidden. + (_fpioconst_pow10): Likewise. + + * include/time.h (_tmbuf): Add attribute_hidden. + + * time/tzset.c (tzstring_list): Define as static. + + * include/time.h: Add attribute_hidden to __tzname_cur_max and + __use_tzfile declaration. + + * wcsmbs/wcsmbsload.h: Add attribute_hidden to __wcsmbs_gconv_fcts + and __wcsmbs_last_locale declaration. + +2002-02-25 Paul Eggert <eggert@twinsun.com> + + * timezone/Makefile (tzbases): Move systemv from here... + (tzlinks): to here, since the entries in systemv were all changed + from Zone to Link lines in tz-2001a. Bug reported (and patch + tested) by Peter Breitenlohner. + +2002-03-07 Jakub Jelinek <jakub@redhat.com> + + * time/tst-posixtz.c (tests): Add new tests. + (main): Test whether tzset() sets daylight properly. + +2002-03-06 Jakub Jelinek <jakub@redhat.com> + + * time/tzset.c (tz_compute): Move __daylight, __tzname and + __tzname_cur_max setting... + (tzset_internal): ...here. + +2002-03-06 Jakub Jelinek <jakub@redhat.com> + + * time/tzset.c (compute_change): Don't return any value. + (tz_compute): Likewise. Don't handle southern hemisphere here. + (__tz_convert): But here. + +2002-03-11 Ulrich Drepper <drepper@redhat.com> + + * manual/examples/mkfsock.c: Include <string.h> as well. + Patch by Alain De Carolis <alaind@wseurope.com>. + +2002-03-06 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regexec.c (re_match): Fix incorrect register sizes. + (re_search): Likewise. + +2002-03-05 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (regfree): Remove a disused condition. + * posix/regex_internal.c (re_acquire_state): Likewise. + (re_acquire_state_context): Likewise. + (register_state): Remove a redundant malloc invocation. + * posix/regex_internal.h: (re_state_table_entry): Simplify + the structure. + +2002-03-05 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (regcomp): Add __builtin_expect to error + handling conditions. + (regerror): Likewise. + (regfree): Likewise. + (re_compile_internal): Likewise. + (init_dfa): Likewise. + (init_word_char): Likewise. + (create_initial_state): Likewise. + (analyze): Likewise. + (analyze_tree): Likewise. + (duplicate_node): Likewise. + (calc_eclosure): Likewise. + (calc_eclosure_iter): Likewise. + (parse): Likewise. + (parse_reg_exp): Likewise. + (parse_branch): Likewise. + (parse_expression): Likewise. + (parse_subexp): Likewise. + (parse_dup_op): Likewise. + (parse_bracket_exp): Likewise. + (build_equiv_class): Likewise. + (build_charclass): Likewise. + (build_word_op): Likewise. + (fetch_number): Likewise. + (create_tree): Likewise. + (duplicate_tree): Likewise. + * posix/regex.c (BE): New macro. + * posix/regexec.c (re_match): Add __builtin_expect to error + handling conditions. + (re_match_2): Likewise. + (re_search): Likewise. + (re_search_internal): Likewise. + (check_matching): Likewise. + (proceed_next_node): Likewise. + (set_regs): Likewise. + (sift_states_backward): Likewise. + (add_epsilon_backreference): Likewise. + (transit_state): Likewise. + (transit_state_sb): Likewise. + (transit_state_mb): Likewise. + (transit_state_bkref): Likewise. + (transit_state_bkref_loop): Likewise. + (build_trtable): Likewise. + (group_nodes_into_DFAstates): Likewise. + (match_ctx_init): Likewise. + (match_ctx_add_entry): Likewise. + * posix/regex_internal.c (re_string_construct): Add __builtin_expect + to error handling conditions. + (re_string_construct_toupper): Likewise. + (build_wcs_buffer): Likewise. + (build_wcs_upper_buffer): Likewise. + (build_upper_buffer): Likewise. + (re_string_translate_buffer): Likewise. + (re_node_set_alloc): Likewise. + (re_node_set_init_1): Likewise. + (re_node_set_init_2): Likewise. + (re_node_set_init_copy): Likewise. + (re_node_set_intersect): Likewise. + (re_node_set_init_union): Likewise. + (re_node_set_merge): Likewise. + (re_node_set_insert): Likewise. + (re_dfa_add_node): Likewise. + (re_acquire_state): Likewise. + (re_acquire_state_context): Likewise. + (create_new_state_common): Likewise. + (register_state): Likewise. + (create_ci_new_state): Likewise. + (create_cd_new_state): Likewise. + (re_string_context_at): Remove redundant condition. + +2002-01-16 Roger Sayle <roger@eyesopen.com> + + * sysdeps/i386/i686/strcmp.S: Avoid unconditional jump to a ret. + + * sysdeps/i386/i586/strlen.S: Fix typo in comment. + +2002-03-11 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/i386/elf/configure.in: Fix comment. + + * sysdeps/sparc/sparc64/configure.in: New file. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Fix + if .dynamic comes before .got. + * config.h.in (SPARC64_DYNAMIC_BEFORE_GOT): Add. + + * sysdeps/sparc/sparc64/hp-timing.h (HP_TIMING_DIFF, + HP_TIMING_ACCUM): Fix typos. + +2002-03-11 Ulrich Drepper <drepper@redhat.com> + + * string/strfry.c: Add some more randomness to the seed. + Patch by James A Morrison <ja2morri@student.math.uwaterloo.ca>. + + * po/es.po: Update from translation team. + * po/fr.po: Likewise. + + * stdio-common/tfformat.c (sprint_doubles): A test for %F format. + + * stdio-common/printf_fp.c (__printf_fp): Correct check for %F format + when determining type of format. + Patch by James Antill <james@anqd.org> [PR libc/2787]. + +2002-03-04 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/bsd/ftime.c (ftime): Don't return 1000 in millitm. + +2002-03-11 Roland McGrath <roland@frob.com> + + * hurd/hurd/threadvar.h: Include <features.h> for __THROW macro. + + * Versions.def (libc): Add GLIBC_2.2.6. + * hurd/Versions (libc: GLIBC_2.2.6): Add __errno_location. + * sysdeps/mach/hurd/errnos.awk: In generated macro, use + __errno_location instead of __hurd_errno_location, and don't inline it. + * sysdeps/mach/hurd/bits/errno.h: Regenerated. + * hurd/errno.c: New file. + * hurd/Makefile (routines): Add errno. + +2002-03-11 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/vfprintf.c (vfprintf): Avoid crashing for + ridiculously large widths and precisions [PR libc/3026]. + +2002-03-11 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: Fix for bi-arch + support. + Patch by Susanne Oberhauser <froh@SuSE.de>. + +2002-03-11 Ulrich Drepper <drepper@redhat.com> + + * inet/rexec.c (ahostbuf): Define as static. + + * wctype/wcfuncs.c (__ctype32_wctype): Declare as hidden. + (__ctype32_wctrans): Likewise. + * wcsmbs/wcwidth.h (__ctype32_width): Declare as hidden. + * ctype/ctype-info.c (__ctype32_wctype): Add attribute_hidden. + (__ctype32_wctrans): Likewise. + (__ctype32_width): Likewise. + + * gmon/Makefile (elide-routines.os): Add bb_init_func and bb_exit_func. + They were never exported anyway. + + * gmon/gmon.c (_gmonparam): Add attribute_hidden. + * gmon/sys/gmon.h: Remove declaration of _gmonparam. It wasn't + exported. + * include/sys/gmon.h: Declare _gmonparam. + + * sysdeps/unix/sysv/linux/i386/getdents64.c: Don't define compatibility + symbols for getdents64. They were never exported. + +2002-03-09 Roland McGrath <roland@frob.com> + + * hurd/hurdsig.c (write_corefile): Fix swapped arguments to __dir_link. + Reported by Jon Arney <jarney1@cox.net>. + +2002-02-23 Roland McGrath <roland@frob.com> + + * hurd/hurd/threadvar.h (__hurd_threadvar_location): Add __THROW to + declaration. + (__hurd_errno_location): Function removed. + +2002-03-06 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add compatibility for + 32-bit. + +2002-03-04 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/readelflib.c: New file. + + * sysdeps/unix/sysv/linux/kernel-features.h: Add defines for + x86-64. + + * sysdeps/unix/sysv/linux/x86_64/bits/socket.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/bits/shm.h: New file. + + * sysdeps/x86_64/bits/setjmp.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/bits/sem.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/bits/resource.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Add compatibilty + for x86. + * sysdeps/unix/sysv/linux/x86_64/bits/msq.h: Likewise. + * sysdeps/unix/sysv/linux/x86_64/bits/types.h: Likewise. + +2002-02-28 Bo Thorsen <bo@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Merge with i386 + version. + +2002-03-03 Andreas Jaeger <aj@suse.de> + + * sysdeps/x86_64/bits/wordsize.h: New file. + + * elf/nodlopenmod2.c: Provide prototype to avoid warning. + * elf/tst-tlsmod1.c: Likewise. + + * posix/regcomp.c: Get regex.h from include dir for internal + prototypes. + + * sysdeps/unix/sysv/linux/init-first.c: Move __init_misc prototype + to libc-internal.h and include it. + * include/libc-internal.h: Add __init_misc. + + * misc/init-misc.c: Include libc-internal.h for prototypes. + + * sysdeps/wordsize-32/divdi3.c: Add prototypes to avoid warnings. + + * misc/error.c [_LIBC]: Include libioP.h for prototype of + _IO_putc_internal. + +2002-03-03 Ulrich Drepper <drepper@redhat.com> + + * posix/regcomp.c: Compatibility changes to allow using the code + outside glibc. + +2002-02-28 Hartvig Ekner <hartvige@mips.com> + + * sysdeps/mips/elf/start.S: Added initialization of GP (to _gp) if + compiled non-PIC. + +2002-03-02 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-sysdep.c (_dl_important_hwcaps): Fix creation + of .str elements in the returned data structure. + + * elf/elf.h: Add Alpha TLS bits. + +2002-02-28 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/nice.c: New file. + +2002-03-01 Ulrich Drepper <drepper@redhat.com> + + * elf/Makefile (dl-routines): Add dl-origin. + (elide-routines.os): Add dl-origin. + * elf/Versions [ld] (GLIBC_PRIVATE): Add _dl_get_origin. + * elf/dl-debug.c (_dl_debug_initialize): Add missing INTUSE around + _dl_debug_state. + * include/libc-symbols.c: Define attribute_hidden depending on + HAVE_VISIBILITY_ATTRIBUTE. Add definition of INTVARDEF. + + * elf/dl-deps.c: Use INTUSE with __libc_enable_secure. + * elf/dl-load.c: Likewise. + * elf/rtld.c: Likewise. + * include/unistd.h: Declare __libc_enable_secure_internal. + * sysdeps/generic/dl-sysdep.c: Use INTVARDEF with __libc_enable_secure. + Use INTUSE with __libc_enable_secure. + * sysdeps/mach/hurd/dl-sysdep.c: Likewise. + + * elf/dl-deps.c: Use INTUSE with _dl_out_of_memory. + * elf/dl-error.c: Likewise, + * sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory_internal. + + * elf/dl-dst.h [_RTLD_GLOBAL]: Define _dl_get_origin to use INTUSE. + * sysdeps/generic/dl-origin.c: Undefine _dl_get_origin macro before + function definition. Use INTDEF with _dl_get_origin. + * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. + + * elf/dl-init.c: Use INTUSE with _dl_starting_up. + * elf/rtld.c: Likewise. Use INTVARDEF for _dl_starting_up. + + * elf/dl-profile.c: Use INTDEF for _dl_mcount. + * elf/dl-runtime.c: Use INTUSE with _dl_mcount. + * sysdeps/generic/ldsodefs.h: Declare _dl_mcount_internal. + + * elf/dl-conflict.c: Use rtld_progrname instead of _dl_argv[0]. + * elf/dl-deps.c: Likewise. + * elf/dl-error.c: Likewise. + * elf/dl-fini.c: Likewise. + * elf/dl-init.c: Likewise. + * elf/dl-load.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/do-lookup.h: Likewise. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/sparc/sparc-32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc-64/dl-machine.h: Likewise. + * sysdeps/x86_64/dl-machine.h: Likewise. + * elf/rtld.c: Use INTDEF for _dl_argv. Use rtld_progrname instead of + _dl_argv[0]. Use INTUSE with _dl_argv. + * sysdeps/generic/dl-sysdep.c: Use INTUSE with _dl_argv. + * sysdeps/generic/ldsodefs.h: Define rtld_progname macro. + +2002-02-28 Jakub Jelinek <jakub@redhat.com> + + * elf/rtld.c (_rtld_global): Remove .protected. + (_rtld_local): Strong alias to _rtld_global. + * elf/Makefile (CFLAGS-.os): Add -D_RTLD_LOCAL if compiling rtld + only .os object. + * sysdeps/generic/ldsodefs.h (GL): If SHARED and _RTLD_LOCAL, use + _rtld_local instead of _rtld_global. + (_rtld_local): Add hidden extern, possibly in .sdata section. + * configure.in: Add tests for visibility attribute and .sdata. + * config.h.in: Add HAVE_VISIBILITY_ATTRIBUTE and HAVE_SDATA_SECTION. + * sysdeps/alpha/dl-machine.h: Use _rtld_local instead of _rtld_global. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/mips/mips64/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/x86_64/dl-machine.h: Likewise. + +2002-02-28 Ulrich Drepper <drepper@redhat.com> + + * login/login.c (login): Always initialize ut_line field + [PR libc/2991]. + +2002-02-28 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/i386/Makefile (sysdep_routines): Add + divdi3 in csu dir. + (shared-only-routines): Likewise. + * sysdeps/m68k/Makefile (sysdep_routines): Likewise. + (shared-only-routines): Likewise. + * sysdeps/s390/s390-32/Makefile (sysdep_routines): Likewise. + (shared-only-routines): Likewise. + * sysdeps/wordsize-32/divdi3.c: New file. + +2002-02-28 Ulrich Drepper <drepper@redhat.com> + + * locale/iso-4217.def: Remove obsolete currencies for countries + with Euro. + +2002-02-28 Isamu Hasegawa <isamu@yamato.ibm.com> + + * posix/regcomp.c (regcomp): Remove a redundant condition. + (init_word_char): Add a check on malloc failure. + (create_initial_state): Likewise. + (duplicate_node): Likewise. + (calc_eclosure): Likewise. + (calc_eclosure_iter): Likewise. + (parse_expression): Likewise. + (parse_bracket_exp): Remove unnecessary malloc invocations. + (build_equiv_class): Likewise. + (build_charclass): Likewise. + * posix/regex_internal.c (re_node_set_intersect): Add a check + on malloc failure. + (re_node_set_add_intersect): Likewise. + (re_node_set_merge): Likewise. + (re_acquire_state): Likewise. + (re_acquire_state_context): Likewise. + (create_newstate_common): Likewise. + (register_state): Likewise. + (create_ci_newstate): Likewise. + (create_cd_newstate): Likewise. + * posix/regex_internal.h: Fix prototypes of re_acquire_state + and re_acquire_state_context. + * posix/regexec.c (regexec): Suit it to the error handling of + re_search_internal. + (re_match): Likewise. + (re_search): Likewise. + (re_search_internal): Add a check on malloc failure. + (acquire_init_state_context): Likewise. + (check_matching): Likewise. + (proceed_next_node): Likewise. + (set_regs): Likewise. + (sift_states_backward): Likewise. + (sift_states_iter_bkref): Likewise. + (add_epsilon_backreference): Likewise. + (transit_state): Likewise. + (transit_state_sb): Likewise. + (transit_state_mb): Likewise. + (transit_state_bkref_loop): Likewise. + (build_trtable): Likewise. + (group_nodes_into_DFAstates): Likewise. + (match_ctx_init): Likewise. + (match_ctx_add_entry): Likewise. + +2002-02-27 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object_from_fd): Always add SONAME to + l_libname if profiling is enabled [PR libc/2916]. + + * sysdeps/ia64/dl-tls.h: New file. + +2002-02-27 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/dl-machine.h (elf_machine_load_address, RTLD_START): + Work around an Alpha gas bug. + +2002-02-27 Ulrich Drepper <drepper@redhat.com> + + * catgets/open_catalog.c (__open_catalog): Fix typo in code which + uses read to load the catalog. + Patch by Andy Isaacson <adi@unlimitedscale.com> [PR libc/3011]. + +2002-02-26 Ulrich Drepper <drepper@redhat.com> + + * posix/Makefile (distribute): Add regcomp.c, regexec.c, + regex_internal.c, and regex_internal.h. + (CFLAGS-regex.c): Replace -DMBS_SUPPORT with -DRE_ENABLE_I18N. + * posix/regex.c: Complete rewrite. + * posix/regexec.c: New file. + * posix/regcomp.c: New file. + * posix/regex_internal.c: New file. + * posix/regex_internal.h: New file. + * posix/regex.h (RE_ICASE): New macro. + Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. + + * stdio-common/vfscanf.c (_IO_vfwscanf): Always use ungetc, never + ungetwc. It's a macro. + * libio/tst-swscanf.c (do_test): Adjust for now fixed wscanf + implementation. + Reported by Jason Merrill <jason@redhat.com>. + +2002-02-25 Jakub Jelinek <jakub@redhat.com> + + * libio/iofopen.c (__fopen_maybe_mmap): Set the initial + position to fp->_offset if it is set. + * stdio-common/Makefile (tests): Add tst-fdopen. + * stdio-common/tst-fdopen.c: New test. + +2002-02-25 Jakub Jelinek <jakub@redhat.com> + + * libio/fileops.c (_IO_file_xsgetn_mmap): Handle reading from backup. + * stdio-common/tst-ungetc.c (main): Add another test. + +2002-02-25 Ulrich Drepper <drepper@redhat.com> + + * assert/assert-perr.c: Use INTUSE to reference functions and variables + inside libc itself. Use INTDEF and INTDEF2 to define appropriate + aliases. Add prototypes for the new aliases. + * assert/assert.c: Likewise. + * include/libc-symbols.h: Likewise. + * include/stdio.h: Likewise. + * include/netinet/in.h: Likewise. + * include/rpc/auth.h: Likewise. + * include/rpc/auth_unix.h: Likewise. + * include/rpc/key_prot.h: Likewise. + * include/rpc/pmap_prot.h: Likewise. + * include/rpc/pmap_rmt.h: Likewise. + * include/rpc/rpc_msg.h: Likewise. + * include/rpc/xdr.h: Likewise. + * inet/gethstbyad_r.c: Likewise. + * inet/gethstbynm2_r.c: Likewise. + * inet/gethstbynm_r.c: Likewise. + * inet/gethstent_r.c: Likewise. + * inet/in6_addr.c: Likewise. + * libio/__fpurge.c: Likewise. + * libio/filedoalloc.c: Likewise. + * libio/fileops.c: Likewise. + * libio/ftello.c: Likewise. + * libio/ftello64.c: Likewise. + * libio/genops.c: Likewise. + * libio/iofclose.c: Likewise. + * libio/iofdopen.c: Likewise. + * libio/iofflush.c: Likewise. + * libio/iofflush_u.c: Likewise. + * libio/iofgetpos.c: Likewise. + * libio/iofgetpos64.c: Likewise. + * libio/iofgets.c: Likewise. + * libio/iofgets_u.c: Likewise. + * libio/iofopen.c: Likewise. + * libio/iofopncook.c: Likewise. + * libio/iofputs.c: Likewise. + * libio/iofread.c: Likewise. + * libio/iofread_u.c: Likewise. + * libio/iofsetpos.c: Likewise. + * libio/iofsetpos64.c: Likewise. + * libio/ioftell.c: Likewise. + * libio/iofwrite.c: Likewise. + * libio/iogetline.c: Likewise. + * libio/iogets.c: Likewise. + * libio/iogetwline.c: Likewise. + * libio/iolibio.h: Likewise. + * libio/iopadn.c: Likewise. + * libio/iopopen.c: Likewise. + * libio/ioseekoff.c: Likewise. + * libio/ioseekpos.c: Likewise. + * libio/iosetbuffer.c: Likewise. + * libio/iosetvbuf.c: Likewise. + * libio/ioungetc.c: Likewise. + * libio/ioungetwc.c: Likewise. + * libio/iovdprintf.c: Likewise. + * libio/iovsprintf.c: Likewise. + * libio/iovsscanf.c: Likewise. + * libio/libioP.h: Likewise. + * libio/memstream.c: Likewise. + * libio/obprintf.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/oldstdfiles.c: Likewise. + * libio/putc.c: Likewise. + * libio/setbuf.c: Likewise. + * libio/setlinebuf.c: Likewise. + * libio/stdfiles.c: Likewise. + * libio/stdio.c: Likewise. + * libio/strops.c: Likewise. + * libio/vasprintf.c: Likewise. + * libio/vscanf.c: Likewise. + * libio/vsnprintf.c: Likewise. + * libio/vswprintf.c: Likewise. + * libio/wfiledoalloc.c: Likewise. + * libio/wfileops.c: Likewise. + * libio/wgenops.c: Likewise. + * libio/wstrops.c: Likewise. + * malloc/mtrace.c: Likewise. + * misc/error.c: Likewise. + * misc/syslog.c: Likewise. + * nss/getXXbyYY_r.c: Likewise. + * nss/getXXent_r.c: Likewise. + * nss/hosts-lookup.c: Likewise. + * stdio-common/getw.c + * stdio-common/printf-prs.c: Likewise. + * stdio-common/printf_fp.c: Likewise. + * stdio-common/printf_size.c: Likewise. + * stdio-common/putw.c: Likewise. + * stdio-common/scanf.c: Likewise. + * stdio-common/sprintf.c: Likewise. + * stdio-common/tmpfile64.c: Likewise. + * stdio-common/vfprintf.c: Likewise. + * stdio-common/vfscanf.c: Likewise. + * stdlib/strfmon.c: Likewise. + * sunrpc/auth_des.c: Likewise. + * sunrpc/auth_none.c: Likewise. + * sunrpc/auth_unix.c: Likewise. + * sunrpc/authdes_prot.c: Likewise. + * sunrpc/authuxprot.c: Likewise. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_raw.c: Likewise. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/clnt_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/key_call.c: Likewise. + * sunrpc/key_prot.c: Likewise. + * sunrpc/openchild.c: Likewise. + * sunrpc/pm_getmaps.c: Likewise. + * sunrpc/pm_getport.c: Likewise. + * sunrpc/pmap_clnt.c: Likewise. + * sunrpc/pmap_prot.c: Likewise. + * sunrpc/pmap_prot2.c: Likewise. + * sunrpc/pmap_rmt.c: Likewise. + * sunrpc/rpc_cmsg.c: Likewise. + * sunrpc/rpc_prot.c: Likewise. + * sunrpc/svc_authux.c: Likewise. + * sunrpc/svc_raw.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/svc_unix.c: Likewise. + * sunrpc/xdr.c: Likewise. + * sunrpc/xdr_array.c: Likewise. + * sunrpc/xdr_mem.c: Likewise. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_ref.c: Likewise. + * sunrpc/xdr_stdio.c: Likewise. + * sysdeps/generic/_strerror.c: Likewise. + * sysdeps/generic/printf_fphex.c: Likewise. + * sysdeps/generic/tmpfile.c: Likewise. + * sysdeps/gnu/errlist.awk: Likewise. + * sysdeps/gnu/errlist.c: Likewise. + + * libio/Makefile (routines): Remove iosprint. + * libio/iosprintf.c: Removed + + +2002-02-24 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-support.c (_dl_non_dynamic_init): Renamed from + non_dynamic_init and exported now. + * sysdeps/unix/sysv/linux/ldsodefs.h: Declare _dl_non_dynamic_init. + * sysdeps/unix/sysv/linux/init-first.c: Call _dl_non_dynamic_init for + !SHARED. + * sysdeps/mach/hurd/i386/init-first.c: Likewise. + * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + +2002-02-23 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-close.c (free_slotinfo): Check for end of list and return + true in this case. + + * locale/iso-639.def: Add language codes for Walloon. + + * elf/dl-fini.c (_dl_fini): Print some final statistics on the + total number of relocations performed. + + * elf/sprof.c (load_profdata): If do_test provide information as + to why loading failed. + * elf/dl-profile.c (_dl_start_profile): Initialize all of + hist_hdr.dimen. + + * csu/set-init.c: Moved to... + * sysdeps/mach/hurd/set-init.c: ...here. New file. + * csu/Makefile: Don't compile set-init. + * sysdeps/mach/hurd/Makefile: Compile set-init for subdir csu. + * sysdeps/mach/hurd/i386/init-first.c: Call __init_misc in addition + to __libc_init. + * sysdeps/mach/hurd/mips/init-first.c: Likewise. + * sysdeps/mach/hurd/powerpc/init-first.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Call __init_misc instead of + __libc_init. + * misc/init-misc.c: Always export __init_misc. Don't define hooks for + __libc_subinit. + +2002-02-22 Ulrich Drepper <drepper@redhat.com> + + * elf/Versions: Add _dl_allocate_tls and _dl_deallocate_tls. + * elf/rtld.c (dl_main): Use _dl_allocate_tls with INTUSE. + * sysdeps/generic/dl-tls.c: Add INTDEF for _dl_allocate_tls. + (_dl_deallocate_tls): New function. + * sysdeps/generic/ldsodefs.h: Declare _dl_allocate_tls_internal and + _dl_deallocate_tls. + +2002-02-21 Jakub Jelinek <jakub@redhat.com> + + * libio/fileops.c (_IO_file_seekoff_mmap): Fix fseek SEEK_END. + * stdio-common/tst-fseek.c (main): Add test for this. + +2002-02-19 Ulrich Drepper <drepper@redhat.com.> + + * stdlib/Versions: Move __on_exit to GLIBC_PRIVATE. + +2002-02-19 Jakub Jelinek <jakub@redhat.com> + + * libio/fileops.c (_IO_file_underflow_mmap): Cast to unsigned char + pointer before dereferencing. + +2002-02-18 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/times.c: Fix typo in last change. + + * sysdeps/mach/hurd/setpriority.c [POLICY_TIMESHARE_BASE_COUNT]: + Use task_policy in place of task_priority. + + * sysdeps/generic/bits/mman.h + (MS_ASYNC, MS_SYNC, MS_INVALIDATE): New macros. + * sysdeps/mach/msync.c: New file. + + * sysdeps/mach/powerpc/syscall.S: New file. + + * mach/msg.c [MACH_MSG_OVERWRITE] + (__mach_msg_trap, __mach_msg_overwrite): New functions. + * mach/Versions (libc: GLIBC_2.0): Add mach_msg_overwrite and __ name. + + * sysdeps/mach/configure.in: Check for clock.defs to put into + mach_interface_list. + * sysdeps/mach/configure: Regenerated. + + * mach/Makefile (mach-machine): New variable, set from $(base-machine). + ($(objpfx)mach-syscalls.mk): Use it in place of $(base-machine). + ($(mach-syscalls:%=$(objpfx)%.S) static pattern rule): + Use <mach/machine/syscall_sw.h> instead of <sysdep.h>. + (mach-shortcuts): Add device_read_overwrite_request, + device_read_overwrite, vm_read_overwrite, thread_switch. + + * configure.in (base_machine): Set to $machine by default. + * configure: Regenerated. + + * sysdeps/mach/configure.in: Check for <mach/machine/ndr_def.h> + or <machine/ndr_def.h> and add -DNDR_DEF_HEADER=... to DEFINES. + * sysdeps/mach/configure: Regenerated. + * mach/mach_init.c [NDR_DEF_HEADER]: #include it. + + * hurd/hurdfault.c (_hurdsig_fault_init): Add a cast. + + * hurd/hurd/signal.h: Include <setjmp.h> for `jmp_buf' decl. + + * mach/msgserver.c (__mach_msg_server_timeout) [! MACH_RCV_LARGE]: + Double MAX_SIZE and don't retry on MACH_RCV_TOO_LARGE. + +2002-02-17 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/times.c + [NO_CREATION_TIME] (startup_time): New static variable. + [NO_CREATION_TIME] (times_init): New static function in __libc_subinit. + (__times) [NO_CREATION_TIME]: Use startup_time in lieu of task + creation_time from task_basic_info. + (__times): Use __gettimeofday instead of __host_get_time. + + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg) [! MACH_MSG_TYPE_BIT]: + Use untyped Mach IPC message format. + + * hurd/catch-exc.c: Include <assert.h>, missing from last change. + + * hurd/Versions (libc: GLIBC_2.0): Add _S_catch_exception_raise_state, + _S_catch_exception_raise_state_identity, + _hurdsig_fault_catch_exception_raise_state, + _hurdsig_fault_catch_exception_raise_state_identity. + + * mach/shortcut.awk: Don't apply the /^}$/ rule when $proto == "". + + * sysdeps/mach/getsysstats.c (__get_avphys_pages) [HOST_VM_INFO]: Use + __host_info with HOST_VM_INFO flavor instead of __vm_statistics. + + * sysdeps/mach/hurd/getpriority.c [TASK_SCHED_TIMESHARE_INFO]: Find + `base_priority' in PIP->timeshare_base_info instead of PIP->taskinfo. + + * sysdeps/mach/hurd/dl-sysdep.c [FMH]: Define for i386 only. + (fmh, unfmh): Define these functions only #if FMH. Otherwise define + them as no-op macros. + [FMH] (ELF_MACHINE_USER_ADDRESS_MASK): Redefine it to zero. + (__mmap): Uncomment uses of ELF_MACHINE_USER_ADDRESS_MASK. + + * sysdeps/powerpc/dl-machine.h + (ELF_MACHINE_USER_ADDRESS_MASK): New macro. + + * hurd/hurdselect.c (_hurd_select) [MACH_MSG_TRAILER_MINIMUM_SIZE]: + Use untyped Mach IPC message format. + + * sysdeps/mach/hurd/ioctl.c (__ioctl) [! MACH_MSG_TYPE_BIT]: + Handle untyped Mach IPC message formats. + + * hurd/catch-exc.c (_S_catch_exception_raise) [EXC_MASK_ALL]: + Expect different argument conventions when this is defined. + [EXC_MASK_ALL] (_S_catch_exception_raise_state): New stub function. + [EXC_MASK_ALL] (_S_catch_exception_raise_state_identity): Likewise. + * hurd/hurdfault.c: Likewise for _hurdsig_fault_catch_exception_*. + [NDR_CHAR_ASCII] (mig_reply_header_t): #define as mig_reply_error_t + for OSF Mach variant. + (faulted): Use mig_reply_error_t for REPLY. + (_hurdsig_fault_init) [EXC_MASK_ALL]: Use EXCEPTION_STATE_IDENTITY + in __thread_set_exception_ports call. + (_hurdsig_fault_init) [MACH_PORT_RECEIVE_STATUS]: Use + __mach_port_set_attributes in place of __mach_port_set_qlimit. + + * sysdeps/mach/powerpc/sysdep.h (_MACH_MACHINE_ASM_H): Define this + before include <sysdeps/mach/sysdep.h>, to inhibit <mach/machine/asm.h> + on Darwin, which includes bogons. + + * sysdeps/powerpc/dl-machine.h (elf_machine_rela): Move local + variable LOADBASE so it's not declared when it's not used. + +2002-02-16 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/times.c (__times) [NO_CREATION_TIME]: Don't try + to use BI.creation_time. + + * mach/Machrules (MIG): Add -x c to CPP value passed down. + + * config.h.in: Add #undef HAVE_HOST_PAGE_SIZE. + * sysdeps/mach/configure.in: Check for host_page_size RPC to define it. + * mach/mach_init.c (__mach_init) [HAVE_HOST_PAGE_SIZE]: Use + host_page_size instead of vm_statistics. + + * sysdeps/mach/Makefile (mach-before-compile): Don't include + mach_interface.h here, since not all variants use that name. + + * sysdeps/mach/configure.in: Add some checks for Mach headers + to ensure a sane installation. + (mach_interface_list): Define this variable by checking for .defs + files found in various variants. + * configure.in (mach_interface_list): AC_SUBST this. + * config.make.in (mach-interface-list): New substituted variable. + * mach/Makefile (user-interfaces): Define this using the value + of $(mach-interface-list) instead of mach, mach4. + Updated other references to mach_interface to use it as well. + + * sysdeps/mach/powerpc/machine-lock.h: Avoid multi-line strings. + + * mach/msgserver.c [NDR_CHAR_ASCII] (mig_reply_header_t): #define as + mig_reply_error_t for OSF Mach variant. + + * mach/Makefile (routines): Remove bootprivport. + * mach/bootprivport.c: File removed. It has never been used. + + * mach/msg-destroy.c (__mach_msg_destroy) [MACH_MSG_PORT_DESCRIPTOR]: + Grok the OSF flavor of message format. + (mach_msg_destroy_port): For MAKE_SEND and + MAKE_SEND_ONCE rights, create an destroy a right to ensure proper + no-senders notification. + +2002-02-06 Roland McGrath <roland@frob.com> + + * hurd/Versions (libc: GLIBC_2.0): Move cthread_fork, cthread_detach + to here if 2.0 compatibility enabled ... + (libc: GLIBC_2.1.3): ... from here. + +2002-02-15 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-open.c (dl_open_worker): Catch wrap-around of TLS + generation counter. + * elf/dl-close.c (_dl_close): Likewise. + +2002-02-14 Ulrich Drepper <drepper@redhat.com> + + * elf/Makefile: Add rules to build and run tst-tls8. + * elf/tst-tls8.c: New file. + * elf/tst-tlsmod4.c: New file. + + * stdlib/test-a64l.c (tests): Add more test cases. + + * sunrpc/rtime.c (rtime): Change type of thetime to uint32_t. + Reported by Walter Harms <WHarms@bfs.de>. + +2002-02-11 Jes Sorensen <jes@trained-monkey.org> + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add sc_flag bit + definitions for struct sigcontext. + Suggested by David Mosberger-Tang. + +2002-02-13 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-close.c (remove_slotinfo): New function. Handles everything + for removing reference of module in slotinfo list. + (_dl_close): Use remove_slotinfo. + * sysdeps/generic/dl-tls.c: General pretty printing. + (oom): Define only if SHARED. + (_dl_next_tls_modid): Correct starting point for the case we assume + there is a gap. Add missing instruction grouping (doh!). Correct + tests for reaching maximum index. + * elf/Makefile: Add rules to build and run tst-tls7. + * elf/tst-tls7.c: New file. + * elf/tst-tlsmod3.c: New file. + + * elf/tst-tlsmod1.c: Move #include "tls-macros.h" instead #ifdef + USE_TLS. + * elf/tst-tlsmod2.c: Likewise. + + * elf/dl-close.c (_dl_close): When closing an object using TLS + either decrement dl_tls_max_dtv_idx or set dl_tls_dtv_gaps to + true. Increment dl_tls_generation only if we closed any TLS-using + object. + * elf/tst-tls6.c: New file. + * elf/Makefile: Add rules to build and run tst-tls6. + + * po/da.po: Update from translation team. + + * locale/categories.def: Fix typo [PR libc/2948]. + * po/Makefile (BROKEN_LINGUAS): Works with current gettext + [PR libc/2949]. + * locale/iso-4217.def: Update from official version [PR libc/2950]. + * glibcbug.in: Honor TMPDIR [PR libc/2951]. + * locale/programs/ld-collate.c (collate_finish): Bail out with a + message if input is too confusion instead of using assert. + (collate_read): Don't crash on unknown symbol [PR libc/2952]. + Patches by Alastair McKinstry <alastair@pdd.3com.com>. + + * elf/tst-tls1.c: Move #include "tls-macros.h" inside #ifdef USE_TLS. + * elf/tst-tls2.c: Likewise. + * elf/tst-tls3.c: Likewise. + +2002-02-13 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-close.c (free_slotinfo): Only define if TLS supported. + +2002-02-13 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-open.c (dl_open_worker): Only bump the generation counter + if this is really necessary. + + * elf/dl-close.c (_dl_close): Implement freeing entries in the + slotinfo array. + (free_mem): Free memory for the slotinfo array if possible. + +2002-02-12 Andreas Schwab <schwab@suse.de> + + * csu/gmon-start.c (__gmon_start__): Remove '&' from ENTRY_POINT. + +2002-02-12 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-tls.c (TLS_DTV_UNALLOCATED): Renamed from + TLS_DTV_UNALLOCATE. + (oom): New function. + (_dl_next_tls_modid): Rewrite to handle dl_tls_dtv_slotinfo_list. + (_dl_determine_tlsoffset): Likewise. + (_dl_allocate_tls): Likewise. + (__TLS_GET_ADDR): Define if not already defined. + (_dl_tls_symaddr): New function. + (allocate_and_init): New function. + (__tls_get_addr): Actually implement handling of generation counter + and deferred allocation. + * sysdeps/generic/ldsodefs.h (_rtld_global): Remove _dl_initimage_list, + add _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and + _dl_tls_generation. + Define TLS_SLOTINFO_SURPLUS and DTV_SURPLUS. + Declare _dl_tls_symaddr. + * sysdeps/i386/dl-tls.h: Disable __tls_get_addr handling unless + SHARED. + * include/link.h (struct link_map): Remove l_tls_nextimage and + l_tls_previmage. + * elf/dl-sym.c (_dl_sym): After successful lookup call _dl_tls_symaddr + instead of DL_SYMBOL_ADDRESS for STT_TLS symbols. + (_dl_vsym): Likewise. + * elf/rtld.c (_dl_start_final): Adjust initdtv initialization for new + layout. + (dl_main): Allow PT_TLS be present for empty segment. Remove + nextimage list handling. Instead add all modules using TLS to + dl_tls_dtv_slotinfo_list. + * elf/dl-open.c (dl_open_worker): After successfully loading all + objects add those with TLS to the dl_tls_dtv_slotinfo_list list. + * elf/dl-load.c (_dl_map_object_from_fd): If PT_TLS entry is for an + empty segment don't do anything. Remove handling of initimage list. + * elf/Versions [ld] (GLIBC_2.0): Add __libc_memalign. + (GLIBC_PRIVATE): Add _dl_tls_symaddr. + * elf/dl-minimal.c: Define __libc_memalign. + * elf/dl-support.c: Remove _dl_initimage_list. Add + _dl_tls_dtv_slotinfo_list, _dl_tls_static_nelem, and + _dl_tls_generation. + * include/stdlib.h: Declare __libc_memalign. + + * elf/Makefile: Add rules to build and run tst-tls4 and tst-tls5. + * elf/tst-tls4.c: New file. + * elf/tst-tls5.c: New file. + * elf/tst-tlsmod2.c: New file. + + * elf/tls-macros.h: asms using ___tls_get_addr destroy %ecx and %edx. + + * elf/tst-tlsmod1.c: Don't define variables unles USE_TLS. + + * elf/tst-tls1.c: Use test-skeleton.c. + * elf/tst-tls2.c: Likewise. + * elf/tst-tls3.c: Likewise. + + * elf/dl-conflict.c (RESOLVE_MAP): Return NULL not 0. + +2002-02-08 Daniel Jacobowitz <drow@mvista.com> + + * sysdeps/mips/machine-gmon.h: Update MCOUNT for current GCC behavior. + +2002-02-10 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h: Define R_386_TLS_GD and R_386_TLS_LDM. + + * elf/tst-tls3.c: New file. + * elf/tst-tlsmod1.c: New file. + * elf/Makefile: Add rules to build and run tst-tls3. + + * sysdeps/i386/dl-machine.h: Include <tls.h>. + (elf_machine_type_class): Set ELF_RTYPE_CLASS_PLT also for the three + TLS relocations. + + * elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols. + + * po/fr.po: Update from translation team. + + * elf/tls-macros.h: Add alternative macros for use in PIC. + + * elf/dl-lookup.c: Include <tls.h>. + * elf/do-lookup.h (FCT): Don't discard STT_TLS symbols. + + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): More changes + required by passing pointer to last element of the list. + + * elf/dl-load.c (_dl_map_object_from_fd): Move adjustment of + l_tls_initimage to a place where it actually is performed. + + * sysdeps/generic/glob.c (glob): Explicitly set gl_pathc to zero + after globfree() calls. + + * elf/dl-deps.c (struct openaux_args): Add open_mode element. + (openaux): Pass open_mode as new last argument to _dl_map_object. + (_dl_map_object_deps): Add new argument open_mode. Initialize + open_mode element of args variable with it. + * elf/dl-open.c (dl_open_worker): Pass __RTLD_DLOPEN flag is set to + _dl_map_object_deps. + * elf/rtld.c (dl_main): Add zero as last parameter to + _dl_map_object_deps call. + * sysdeps/generic/ldsodefs.h: Adjust prototype of _dl_map_object_deps. + * elf/nodlopen2.c: New file. + * elf/nodlopenmod2.c: New file. + * elf/Makefile: Add rules to build and run nodlopen2. + + * elf/tst-tls1.c: Move TLS helper macros to... + * elf/tls-macros.h: ...here. New file. + * elf/tst-tls2.c: New file. + * elf/Makefile (tests): Add tst-tls2. + (distribute): Add tls-macros.h. + + * po/sv.po: Update from translation team. + + * elf/tst-tls1.c (main): Add complete set of tests. Split + architecture specific definitions from the actual test code. + + * po/tr.po: Update from translation team. + +2002-02-09 Ulrich Drepper <drepper@redhat.com> + + * elf/Makefile (tests): Add tst-tls1. + * elf/tst-tls1.c: New file. + + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Don't handle + alignment of TCB for now. + + * elf/rtld.c (dl_main): Use p_vaddr as address of TLS + initialization image for the application itself. + + * sysdeps/generic/dl-tls.c (_dl_allocate_tls): Correctly terminate + loop to initialize TLS block. + +2002-02-08 Richard Henderson <rth@redhat.com> + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Also include + _dl_cpuclock_offset if HP_SMALL_TIMING_AVAIL. + + * sysdeps/alpha/elf/initfini.c: Use \n\ for multiline string. + +2002-02-09 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/dl-environ.c (unsetenv): Clear cnt before use. + +2002-02-08 Ulrich Drepper <drepper@redhat.com> + + * po/ca.po: Update from translation team. + * po/sk.po: Likewise. + + * elf/rtld.c (_dl_start_final): Install DTV explicitly. + (dl_main): Move dtv/static TLS handling before relocation. + Unconditionally call _dl_tlsoffset. Call _dl_allocate_tls and + TLS_INIT_TP to allocate and install the dtv/static TLS block. + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): If no object + so far uses TLS initialize GL(dl_tls_static_size) and + GL(dl_tls_static_align) to account for the TCB. + (_dl_allocate_tls): New function. + * sysdeps/generic/ldsodefs.h (rtld_global): Add + _dl_initial_dtv_malloced. + + * configure.in: Test for __builtin_memset more realistically. + + * csu/version.c (banner): If TLS support is available say so. + +2002-02-04 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/dl-machine.h (elf_machine_matches_host): Use + __attribute_used__. + (__dl_runtime_resolve): Likewise. + + * sysdeps/mips/machine-gmon.h (_MCOUNT_DECL): Make it a real + declaration. + +2001-11-15 H.J. Lu <hjl@gnu.org> + + * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Don't include + <signal.h>, <sys/ucontext.h> nor <asm/elf.h>. Updated for gdb. + + * sysdeps/unix/sysv/linux/mips/sys/user.h: New file. + +2002-02-07 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/atomicity.h (compare_and_swap): Remove + ".set noreorder". + * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): + Likewise. + +2002-02-07 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/bits/stat.h: Undo last patch. + + * sysdeps/i386/dl-tls.h (__tls_get_addr): Call + ___tls_get_addr_internal. + (___tls_get_addr_internal): Define as alias for ___tls_get_addr. + + * po/ko.po: Update from translation team. + +2002-02-07 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Remove packed + attribute, change __pad{1,2} type to unsigned int. + (struct stat64): Remove packed attribute. + +2002-02-07 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/i386/dl-tls.h: No need for #ifdef USE_TLS. + +2002-02-07 Andreas Schwab <schwab@suse.de> + + * configure.in: Fix check for -zcombreloc. + +2002-02-06 H.J. Lu <hjl@gnu.org> + + * config.h.in (HAVE_BUILTIN_MEMSET): New macro. + * configure.in: Check if __builtin_memset really works. + * elf/rtld.c (_dl_start): Check HAVE_BUILTIN_MEMSET instead of + __GNUC_PREREQ (2, 96) before using __builtin_memset. + +2002-02-06 Jakub Jelinek <jakub@redhat.com> + + * io/bug-ftw3.c (main): Don't try the test if root. + +2002-02-06 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/brk.c (__brk): Correct inline assembly + constraints. + * sysdeps/unix/sysv/linux/s390/s390-32/bits/resource.h (RLIMIT_LOCKS): + Add RLIMIT_LOCKS and adjust RLIMIT_NLIMITS. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/resource.h (RLIMIT_LOCKS): + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/clone.S (clone): Make clone + a weak alias for __clone. + * sysdeps/unix/sysv/linux/s390/s390-64/clone.S (clone): Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: Fix typo. + * sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Add framestate. + * sysdeps/unix/sysv/linux/s390/s390-64/Versions: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/mmap.S (__mmap64): Make __mmap + a weak alias for __mmap64. + +2002-02-05 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/atomicity.h (exchange_and_add): Not use branch likely. + (atomic_add): Likewise. + (compare_and_swap): Likewise. + * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise. + +2002-02-07 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-tls.c: Don't read TLS header if TLS is not needed. + + * sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Account for + alignment of the TCB and store total size and alignment of static + TLS block in _dl_tls_static_size and _dl_tls_static_align. + tls_index is a typedef. + * sysdeps/generic/ldsodefs.h: Declare _dl_tls_static_size and + _dl_tls_static_align. + * sysdeps/i386/dl-tls.h: tls_index is a typedef. + * elf/dl-support.c: Define _dl_tls_static_size and + _dl_tls_static_align. + +2002-02-06 Ulrich Drepper <drepper@redhat.com> + + * configure.in: Add --without-tls option. + * sysdeps/i386/elf/configure.in: Don't check for TLS support if + --without-tls is given. + + * sysdeps/generic/dl-tls.c: Include <tls.h>. + + * sysdeps/i386/dl-tls.h: Don't define anything if !USE_TLS. + +2002-02-06 Roland McGrath <roland@frob.com> + + * malloc/hooks.c [! HAVE_MREMAP]: Conditionalize unused decls. + * malloc/malloc.c [! HAVE_MREMAP]: Likewise. + + * scripts/versions.awk: Improve error message for missing version. + Each version inherits from the last one only if they have the same + nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z or FOO_x and FOO_y + but not GLIBC_x and FOO_y. + + * scripts/firstversions.awk: Handle libraries that don't have each + particular version named in the third column of shlib-versions. + + * scripts/firstversions.awk: Don't mess with GLIBC_PRIVATE. + +2002-02-06 Ulrich Drepper <drepper@redhat.com> + + * Versions.def [ld]: Add GLIBC_2.3. + * elf/Versions [ld]: Add __tls_get_addr to GLIBC_2.3. + * elf/Makefile (dl-routines): Add dl-tls. + (distribute): Add dl-tls.h. + * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove + _dl_tls_module_cnt, add _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps. + Add prototypes for _dl_next_tls_modid and _dl_determine_tlsoffset. + * elf/dl-load.c (_dl_map_object_from_fd): Store alignment requirement + along with the other info in the link map. Change queueing of init + images for double linked list. Use _dl_next_tls_modid to compute + l_tls_modid. + * elf/rtld.c (_dl_start_final): Store alignment requirement + along with the other info in rtld map and executable map. + (dl_main): Add ld.so to the init image list if necessary. Compute + final module ID with _dl_next_tls_modid. + * include/link.h (struct link_map): Add l_tls_previmage and + l_tls_align. + * eld/dl-support.c: Define _dl_tls_max_dtv_idx and _dl_tls_dtv_gaps. + * sysdeps/i386/elf/Versions: New file. + * sysdeps/generic/dl-tls.c: New file. + * sysdeps/generic/dl-tls.h: New file. + * sysdeps/i386/dl-tls.h: New file. + +2002-02-06 Roland McGrath <roland@frob.com> + + * sysdeps/unix/sysv/linux/netinet/ip.h: Moved to ... + * sysdeps/generic/netinet/ip.h: ... here, replacing old file. + +2002-01-05 Roland McGrath <roland@frob.com> + + * sysdeps/mach/configure.in: New file. + * sysdeps/mach/configure: New generated file. + + * mach/Makefile (user-interfaces): Remove default_pager_helper. + It has never been used by anything. + +2002-02-06 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/elf/ldsodefs.h: Make sure the right <ldsodefs.h> + is included. + +2002-02-06 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/bits/stat.h (struct stat): Add + attribute((packed)) to counter stupid people misusing gcc options. + (struct stat64): Likewise. + +2002-02-05 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (dl_main): Correct indentation. Use bool as type for + the variables which are used as booleans. + +2002-02-06 Andreas Jaeger <aj@suse.de> + + * include/libc-symbols.h (INTUSE): Renamed from INT. + * elf/dl-deps.c: Change users. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/rtld.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/dl-load.c: Likewise. + * elf/dl-dst.h: Likewise. + * elf/dl-init.c: Likewise. + * elf/dl-error.c: Likewise. + * elf/dl-fini.c: Likewise. + * elf/dl-runtime.c: Likewise. + * elf/do-lookup.h: Likewise. + + * stdio-common/_itoa.h: Undefine SPECIAL to avoid duplicate + definition. + * stdio-common/_itowa.h: Likewise. + +2002-02-05 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-minimal.c: Define _itoa_lower_digits. + + * elf/dynamic-link.h (elf_get_dynamic_info): ld.so can have + DT_FLAGS set. + + * elf/dl-load.c (_dl_map_object_from_fd): Prevent dynamically + loading modules with the DF_STATIC_TLS flag set. + * elf/dynamic-link.h (elf_get_dynamic_info): Initialize l_flags + element. + * include/link.h (struct link_map): Add l_flags field. + * elf/elf.h (DF_STATIC_TLS): New definition. + + * dlfcn/Makefile: Add rules to build and run bug-dlopen1. + * dlfcn/bug-dlopen1.c: New file. By Bruno Haible. + + * elf/rtld.c (process_dl_debug): Correct printing help message. + * elf/dl-misc.c (_dl_debug_vdprintf): Implement precision handling + for %s. + + * inet/getnetgrent_r.c (innetgr): Add int* parameter to getfct + definition and pass &errno in use of this variable. + Reported by Simon Wilkinson <simon@sxw.org.uk> [PR libc/2911]. + +2002-02-04 Andreas Schwab <schwab@suse.de> + + * locale/programs/localedef.h (WITH_CUR_LOCALE): Define. + * locale/programs/charmap-dir.c: Wrap calls that output messages + with WITH_CUR_LOCALE. Include "localedef.h" first. + * locale/programs/charmap.c: Likewise. + * locale/programs/ld-address.c: Likewise. + * locale/programs/ld-collate.c: Likewise. + * locale/programs/ld-ctype.c: Likewise. + * locale/programs/ld-identification.c: Likewise. + * locale/programs/ld-measurement.c: Likewise. + * locale/programs/ld-messages.c: Likewise. + * locale/programs/ld-monetary.c: Likewise. + * locale/programs/ld-name.c: Likewise. + * locale/programs/ld-numeric.c: Likewise. + * locale/programs/ld-paper.c: Likewise. + * locale/programs/ld-telephone.c: Likewise. + * locale/programs/ld-time.c: Likewise. + * locale/programs/linereader.c: Likewise. + * locale/programs/linereader.h: Likewise. + * locale/programs/localedef.c: Likewise. + * locale/programs/locfile.c: Likewise. + * locale/programs/repertoire.c: Likewise. + +2002-02-05 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (_dl_start_final): Determine load address to locate + ehdr with GL(dl_rtld_map).l_map_start. + + * po/ca.po: Update from translation team. + + * elf/rtld.c (dl_main): Read PT_TLS entry of the executable. + * elf/dl-load.c (_dl_map_object_from_fd): Handle PT_TLS program + header entry. + * sysdeps/generic/ldsodefs.h (struct rtld_global): Add + _dl_tls_module_cnt. + * elf/dl-support.c: Define _dl_initimage_list and _dl_tls_module_cnt. + +2002-02-04 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (_dl_start): Fill TLS values in link map for rtld. + * include/link.h (struct link_map): Add various members for TLS + information. + * sysdeps/generic/ldsodefs.h (struct rtld_global): Remove + _rtld_tlsoffset, add _dl_initimage_list. + * sysdeps/i386/dl-lookupcfg.h: New file. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Implement missing + TLS relocation. When using TLS we now use RESOLVE_MAP. + (elf_machine_rela): Use RESOLVE_MAP instead of RESOLVE_MAP if TLS + is used. + + * sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Mark as possibly + unused. + + * elf/rtld.c (_dl_start_final): Allocate TLS and initialize + thread-pointer as soon as possible. + * sysdeps/generic/ldsodefs.h: Include <tls.h>. Define first TLS + elements in rtld_global. + * sysdeps/generic/tls.h: New file. + * elf/Makefile (distribute): Add tls.h. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Add support for TLS + relocations. Not complete yet. + + * resolv/resolv.h: Allow user to define __need_res_state and only + define __res_start structure then. + * include/resolv.h: Only declare functions if _RESOLV_H_ is defined. + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Move + dl_cpuclock_offset initialization to _dl_start_final. + (_dl_show_auxv): Avoid unnecessary sign extension. + * elf/rtld.c (_dl_start_final): Initialize dl_cpuclock_offset. + +2002-02-03 Ulrich Drepper <drepper@redhat.com> + + * config.h.in: Add HAVE_TLS_SUPPORT. + * sysdeps/i386/elf/configure.in: New file. + +2002-02-03 Andreas Schwab <schwab@suse.de> + + * sysdeps/posix/readv.c: Use ssize_t for bytes_read. + * sysdeps/posix/writev.c: Use ssize_t for bytes_written. Fix comment. + +2002-02-03 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/posix/writev.c: Check for ssize_t overflow, don't use + alloca if the memory reqirements are too high. + +2002-02-03 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (decompose_rpath): Avoid using strstr. + * elf/dl-minimal.c (_strerror_r): Use _itoa instead of _itoa_word since + the former is available anyway and speed isn't important here. + * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. + * elf/dl-version.c (match_symbol): Likewise. + (_dl_check_map_versions): Likewise. + * elf/rtld.c (process_envvars): Likewise. + (print_statistics): Likewise. + * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Likewise. + * elf/dl-minimal.c (_itoa): Always define it. Make it work for all + bases. Add assert to catch uses of unimplemented features. + (__strsep): Add assert to catch uses of unimplemented features. + * elf/dl-object.c (_dl_new_object): Don't use rawmemchr. Use strchr + and avoid inline optimization. + * elf/rtld.c (process_envvars): Likewise. + * elf/dl-open.c: Don't include <stdio-common/_itoa.h>. + * elf/dl-profile.c (_dl_start_profile): Help compiler to avoid ffs. + * elf/rtld.c (dl_main): Avoid strsep inline optimization. + +2002-02-02 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/_itoa.h: Minor simplifications of the code. + * stdio-common/_itoa.c: Likewise. + + * elf/dl-reloc.c (_dl_relocate_object): Use _dl_debug_printf + instead of _dl_printf for debugging info output. + + * manual/examples/mkfsock.c (make_named_socket): Make sure name is + always NUL-terminated. Patch by Chris D. Sloan <cds@cs.hmc.edu>. + +2002-02-01 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/atomicity.h (exchange_and_add): Use branch likely. + (atomic_add): Likewise. + (compare_and_swap): Return 0 only when failed to compare. Use + branch likely. + + * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Use + branch likely. + +2002-02-03 kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix a typo. + +2002-02-02 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-minimal.c (__strsep): New minimal implementation. + +2002-02-02 Paul Eggert <eggert@twinsun.com> + + * src/mktime.c [defined DEBUG && STDC_HEADERS]: Include <string.h>. + (__mktime_internal): If no tm_isdst is requested, prefer solutions + with tm_isdst > 0 when the requested time falls within a + spring-forward gap [PR libc/2894]. + +2002-02-03 Andreas Schwab <schwab@suse.de> + + * stdio-common/tst-rndseek.c: Increase timeout. + +2002-02-02 Ulrich Drepper <drepper@redhat.com> + + Change ld.so to not use functions which are exported. One cannot + interpose them anyway. Use INT() to mark uses, INTDEF() to mark + definitions. + * include/libc-symbols.h: Define INT and INTDEF. + * sysdeps/generic/ldsodefs.h: Declare _dl_debug_printf_internal, + _dl_signal_error_internal, _dl_map_object_internal, + _dl_map_object_deps_internal, _dl_lookup_symbol_internal, + _dl_lookup_versioned_symbol_internal, + _dl_relocate_object_internal, _dl_debug_state_internal, + _dl_start_profile_internal, and _dl_unload_cache_internal. + * include/dlfcn.h: Declare _dl_catch_error_internal. + * elf/rtld.c: Use INT for calls to any of the *_internal functions + above. Add INTDEF to function definitions. + * elf/dl-debug.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-misc.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/dl-profile.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-runtime.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/do-lookup.h: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/alpha/dl-machine.h (RTLD_START): Call _dl_init_internal + instead of _dl_init. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/mips/mips64/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + * sysdeps/x86_64/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-start.S (_dl_start_user): Likewise. + + * elf/Versions: Don't export _dl_check_all_versions, _dl_sysdep_start, + and _dl_debug_initialize. + + * elf/dl-object.c (_dl_new_object): Avoid using strrchr. We have + more information. + * elf/rtld.c (dl_main): Avoid strrchr. + * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use the + result of readlink. Search from the back for '/'. + + * elf/dl-profile.c (_dl_start_profile): Help the compiler to avoid + strncpy if possible. + + * sysdeps/generic/dl-environ.c (unsetenv): Optimize. Don't use + strncmp. + * elf/dl-load.c (is_dst): Optimize. Don't call strncmp twice. + * elf/rtld.c (process_dl_debug): Optimize. Avoid calls to strncmp, + strspn, and strcspn. + (process_envvars): Don't use strcspn. + + * elf/dl-load.c (_dl_dst_count): Fix possible endless loop. + (_dl_dst_substitute): Likewise. + +2002-02-01 Ulrich Drepper <drepper@redhat.com> + + * elf/do-rel.h (elf_dynamic_do_rel): Help the compiler recognize + code which is never used when relocating ld.so itself. + + * elf/dynamic-link.h (elf_get_dynamic_info): Optimize a bit for + starting ld.so itself. Move l_addr variable initialization closer + to use. + (_ELF_DYNAMIC_DO_RELOC): Help the compiler optimize a bit. + +2002-02-01 Jakub Jelinek <jakub@redhat.com> + + * Versions.def (libc): Add GLIBC_PRIVATE. + (libdb, libnss_db, libdb1): Remove. + (libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis, + libnss_nisplus): Move all symbols to GLIBC_PRIVATE. + (libpthread): Add GLIBC_PRIVATE. + (libresolv): Likewise, remove GLIBC_2.1. + (ld): Add GLIBC_PRIVATE, remove GLIBC_2.1.1, GLIBC_2.2, GLIBC_2.2.1, + GLIBC_2.2.3, GLIBC_2.3. + * catgets/Versions (__open_catalog): Move to GLIBC_PRIVATE. + * elf/Versions (_dl_open, _dl_close, _dl_addr, _dl_init_first, + _dl_sym, _dl_vsym): Likewise. + (__libc_enable_secure, __libc_stack_end, _dl_argv, _dl_catch_error, + _dl_check_all_versions, _dl_check_map_versions, _dl_debug_initialize, + _dl_debug_printf, _dl_debug_state, _dl_dst_count, _dl_dst_substitute, + _dl_init, _dl_lookup_symbol, _dl_lookup_symbol_skip, + _dl_lookup_versioned_symbol, _dl_lookup_versioned_symbol_skip, + _dl_map_object, _dl_map_object_deps, _dl_out_of_memory, + _dl_relocate_object, _dl_signal_error, _dl_start_profile, + _dl_starting_up, _dl_sysdep_start, _dl_unload_cache, _rtld_global): + Likewise. + (_dl_object_relocation_scope): Remove. + * hesiod/Versions: Move all symbols to GLIBC_PRIVATE. + * iconv/Versions (__gconv_alias_db, __gconv_modules_db, + __gconv_cache): Move to GLIBC_PRIVATE. + * inet/Versions (__internal_endnetgrent, __internal_getnetgrent_r, + __internal_setnetgrent): Likewise. + * io/Versions (__libc_open, __libc_close, __libc_read, __libc_write, + __libc_lseek, __libc_fcntl, __libc_open64, __libc_lseek64): Likewise. + * locale/Versions (__collate_element_hash, __collate_element_strings, + __collate_symbol_classes, __collate_symbol_hash, + __collate_symbol_strings, _nl_current_LC_COLLATE, + _nl_current_LC_CTYPE): Likewise. + * misc/Versions (__libc_fsync, __libc_msync): Likewise. + * nis/Versions (libnss_compat): Move all symbols to GLIBC_PRIVATE. + (libnss_nis, libnss_nisplus): Likewise. + * nss/Versions (_nss_files_parse_grent, _nss_files_parse_pwent, + _nss_files_parse_spent): Move to GLIBC_PRIVATE. + (libnss_files): Move all symbols to GLIBC_PRIVATE. + * posix/Versions (__libc_wait, __libc_waitpid, __libc_pause, + __libc_nanosleep, __libc_fork, __libc_pread, __libc_pread64, + __libc_pwrite, __libc_pwrite64): Move to GLIBC_PRIVATE. + * resolv/Versions (__gai_sigqueue, __ns_name_unpack, __ns_name_ntop, + __ns_get16, __ns_samename): Likewise. + (libnss_dns): Move all symbols to GLIBC_PRIVATE. + * setjmp/Versions (__libc_longjmp, __libc_siglongjmp): Move to + GLIBC_PRIVATE. + * socket/Versions (__libc_accept, __libc_send, __libc_recvfrom, + __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto, + __libc_connect): Likewise. + * stdio-common/Versions (_itoa_lower_digits, _itoa_upper_digits): + Likewise. + * stdlib/Versions (__libc_system): Likewise. + * sunrpc/Versions (__rpc_thread_destroy): Likewise. + * sysdeps/hppa/Versions: Move all symbols to GLIBC_PRIVATE. + * sysdeps/ia64/fpu/Versions: Likewise. + * sysdeps/ia64/Versions: Likewise. + * sysdeps/unix/sysv/linux/ia64/Versions: Likewise. + * sysdeps/unix/sysv/linux/i386/Versions (__modify_ldt): Move + to GLIBC_PRIVATE. + * sysdeps/unix/sysv/linux/x86_64/Versions (__modify_ldt): Likewise. + * sysdeps/unix/sysv/linux/Versions (__syscall_rt_sigqueueinfo, + __libc_sigaction): Likewise. + * termios/Versions (__libc_tcdrain): Likewise. + + * misc/sys/cdefs (__attribute_noinline__): Define. + * elf/dl-lookup.c (_dl_do_lookup, _dl_do_lookup_versioned): Add + __attribute_noinline__. + + * elf/Makefile (rtld-routines): Add dl-xstat64, dl-fxstat64. + * elf/dl-xstat64.c: New file. + * elf/dl-fxstat64.c: New file. + * sysdeps/unix/sysv/linux/fxstat64.c: If RTLD_STAT64 is defined, + don't export __fxstat64 at multiple versions. + * sysdeps/unix/sysv/linux/lxstat64.c: Similarly. + * sysdeps/unix/sysv/linux/xstat64.c: Similarly. + +2002-01-18 Isamu Hasegawa <isamu@yamato.ibm.com> + + * locale/program/ld-collate.c (collate_finish): Assign a wide + char collation sequence value to multi character collating + elements, and avoid over writing by non-character elements. + +2002-02-01 Ulrich Drepper <drepper@redhat.com> + + * elf/Makefile (distribute): Add dl-procinfo.c. + * sysdeps/unix/sysv/linux/i386/Dist: Remove dl-procinfo.c. + * sysdeps/unix/sysv/linux/arm/Dist: Likewise. + +2002-02-01 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/ldsodefs.h (_dl_load_lock): Remove duplicate + definition. + * sysdeps/ia64/hp-timing.h: Move _dl_hp_timing_overhead in + _rtld_global struct. + * sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise. + * sysdeps/sparc/sparc64/hp-timing.c: Likewise. + * sysdeps/sparc/sparc64/hp-timing.h: Likewise. + * sysdeps/sparc/sparc64/Makefile: Make hp-timing static only. + * sysdeps/unix/sysv/aix/init-first.c (_dl_fpu_control, + _dl_fpu_control_set): Remove unused externs. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Move procinfo + related variables in _rtld_global struct. + * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Likewise. + * sysdeps/unix/sysv/linux/init-first.c (_dl_fpu_control_set): Remove + unused extern. + +2002-02-01 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-procinfo.c: New file. + +2002-02-01 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/dl-machine.h: Don't use multi-line string literals. + +2002-02-01 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (_dl_start): Mark as internal_function. + * sysdeps/i386/dl-machine.h (RTLD_START): Pass parameter for _dl_start + in register. + (elf_machine_rel): Cleanup and minor optimization for RTLD_BOOTSTRAP. + General pretty printing. + +2002-01-31 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-minimal.c: Define _itoa for 32-bit machines with HP timing. + * elf/dl-reloc.c: Pretty printing. + * sysdeps/generic/ldsodefs.h: Move _dl_hp_timing_overhead and + procinfo-related variables in rtld_global struct. + * elf/dl-support.c: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/i386/i686/Makefile: Likewise. + * sysdeps/i386/i686/hp-timing.c: Likewise. + * sysdeps/i386/i686/hp-timing.h: Likewise. + * sysdeps/ia64/Makefile: Likewise. + * sysdeps/ia64/hp-timing.c: Likewise. + * sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise. + * sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.c: Likewise. + * sysdeps/unix/sysv/linux/arm/dl-procinfo.h: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Likewise. + * sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Likewise. + * sysdeps/x86_64/Makefile: Likewise. + + * sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy, + _dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and + _dl_debug_fd to rtld_global. + * elf/Versions: Likewise. + * elf/dl-close.c: Likewise. + * 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/do-lookup.h: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/ia64/Versions: Likewise. + * sysdeps/unix/clock_gettime.c: Likewise. + * sysdeps/unix/clock_settime.c: Likewise. + * sysdeps/unix/sysv/linux/init-first.c: Likewise. + * sysdeps/sparc/Versions: Removed. + * sysdeps/i386/i686/Versions : Removed. + * sysdeps/x86_64/Versions: Removed. + * configure.in: Define HAVE_PROTECTED if .protected is available. + * config.h.in: Add entry for HAVE_PROTECTED. + +2002-01-31 Jakub Jelinek <jakub@redhat.com. + + * sysdeps/alpha/dl-machine.h: Move global variables for SHARED + code in struct _rtld_global. Export this struct, remove all + exports for the signal variables. + * sysdeps/arm/dl-machine: Likewise. + * sysdeps/generic/dl-origin: Likewise. + * sysdeps/generic/dl-sysdep: Likewise. + * sysdeps/generic/dl-cache: Likewise. + * sysdeps/hppa/dl-fptr: Likewise. + * sysdeps/hppa/dl-machine: Likewise. + * sysdeps/cris/dl-machine: Likewise. + * sysdeps/i386/dl-machine: Likewise. + * sysdeps/ia64/dl-machine: Likewise. + * sysdeps/m68k/dl-machine: Likewise. + * sysdeps/mach/hurd/dl-sysdep: Likewise. + * sysdeps/mips/mips64/dl-machine: Likewise. + * sysdeps/mips/dl-machine: Likewise. + * sysdeps/powerpc/elf/libc-start: Likewise. + * sysdeps/powerpc/dl-machine: Likewise. + * sysdeps/powerpc/dl-start: Likewise. + * sysdeps/sparc/sparc32/dl-machine: Likewise. + * sysdeps/sparc/sparc64/dl-machine: Likewise. + * sysdeps/sh/dl-machine: Likewise. + * sysdeps/s390/s390-32/dl-machine: Likewise. + * sysdeps/s390/s390-64/dl-machine: Likewise. + * sysdeps/unix/sysv/aix/libc-start: Likewise. + * sysdeps/unix/sysv/aix/start-libc: Likewise. + * sysdeps/unix/sysv/linux/ia64/dl-static: Likewise. + * sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise. + * sysdeps/x86_64/dl-machine: Likewise. + +2002-01-31 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/posix/readv.c: Don't use alloca if the memory requirements + are too high. + +2002-01-31 Andreas Schwab <schwab@suse.de> + + * sysdeps/posix/readv.c: Check for ssize_t overflow. + +2002-01-31 Andreas Schwab <schwab@suse.de> + + * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Fix leftover + reference to _dl_pagesize. + +2002-01-30 Ulrich Drepper <drepper@redhat.com> + + * Versions.def [ld]: Add GLIBC_2.3. + * elf/dl-addr.c: Move global variables for SHARED code in struct + _rtld_global. Export this struct, remove all exports for the + signal variables. + * elf/dl-close.c: Likewise. + * elf/dl-conflict.c: Likewise. + * elf/dl-debug.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-iteratephdr.c: Likewise. + * elf/dl-libc.c: Likewise. + * elf/dl-load.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-minimal.c: Likewise. + * elf/dl-object.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/dl-profile.c: Likewise. + * elf/dl-profstub.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-runtime.c: Likewise. + * elf/dl-support.c: Likewise. + * elf/dl-sym.c: Likewise. + * elf/dl-version.c: Likewise. + * elf/do-lookup.h: Likewise. + * elf/do-rel.h: Likewise. + * elf/dynamic-link.h: Likewise. + * elf/rtld.c: Likewise. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + * sysdeps/generic/ldsodefs.h: Likewise. + * sysdeps/generic/libc-start.c: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-fptr.c: Likewise. + * sysdeps/ia64/dl-machine.h: 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/i386/dl-librecon.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/dl-static.c: Likewise. + * sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise. + +2002-01-29 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): Add cast + to avoid warning + (DL_STATIC_FUNCTION_ADDRESS): Likewise. + + * elf/dl-lookup.c: Only define or handle _dl_num_relocations for the + SHARED version. + * elf/dl-reloc.c: Likewise for _dl_num_cache_relocations. + + * elf/rtld.c (_dl_start): Use __builtin_memset if available. + +2002-01-29 Ben Collins <bcollins@debian.org> + + * string/bits/string2.h (__mempcpy): Protect size arg for + addition when using __builtin_memcpy. + +2002-01-29 Ulrich Drepper <drepper@redhat.com> + + * stdlib/Makefile (tests): Add tst-qsort. + * stdlib/tst-qsort.c: New file. Written by Paul Eggert. + + * manual/signal.texi (Process Signal Mask): Document that + pthread_sigmask, not sigprocmask, must be used in MT programs. + Patch by Bertold Kolics <Bertold.Kolics@Sun.COM>. + + * misc/hsearch_r.c (hsearch_r): Don't insert anything if entry is + found. + * misc/Makefile (tests): Add tst-hsearch. + * misc/tst-hsearch.c: New file. + +2002-01-18 Wolfram Gloger <wg@malloc.de> + + * malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c. + * malloc/malloc.h: Likewise. + * malloc/thread-m.h: Spinlock definitions for x86/x86_64. + * malloc/arena.c: New file. + * malloc/hooks.c: New file. + * malloc/tst-mallocstate.c: New file. + * malloc/Makefile: Add new testcase tst-mallocstate. + Add arena.c and hooks.c to distribute. Fix commented CPPFLAGS. + +2002-01-28 Ulrich Drepper <drepper@redhat.com> + + * stdlib/msort.c: Remove last patch. The optimization violates the + same rule which qsort.c had problems with. + +2002-01-27 Paul Eggert <eggert@twinsun.com> + + * stdlib/qsort.c (_quicksort): Do not apply the comparison function + to a pivot element that lies outside the array to be sorted, as + ISO C99 requires that the comparison function be called only with + addresses of array elements [PR libc/2880]. + +2002-01-28 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object): Remove incorrect optimization + for SHARED code. Reported by Ben Collins <bcollins@debian.org>. + + * timezone/asia: Update from tzdata2002b. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/europe: Likewise. + * timezone/leapseconds: Likewise. + * timezone/iso3166.tab: Likewise. + * timezone/zone.tab: Likewise. + +2002-01-23 Richard Henderson <rth@redhat.com> + + * sysdeps/alpha/Makefile (pic-ccflag): New variable. + +2002-01-28 Ulrich Drepper <drepper@redhat.com> + + * string/strxfrm.c: Allocate one more byte for rulearr and clear + this element [PR libc/2855]. + + * string/strcoll.c: Handle zero-length arguments specially + [PR libc/2856]. + +2002-01-23 Jakub Jelinek <jakub@redhat.com> + + * string/bits/string2.h (__mempcpy): For gcc 3.0+, don't use + __mempcpy_small but instead use __builtin_memcpy ( , , n) + n for + short lengths and constant src. + (strcpy): Don't optimize for gcc 3.0+. + (__stpcpy): For gcc 3.0+, don't use + __stpcpy_small but instead use __builtin_strcpy (, src) + strlen (src) + for short string literal src. + +2002-01-23 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com> + + * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): + Set for arm, too. + +2001-01-22 Paul Eggert <eggert@twinsun.com> + + * manual/llio.texi (Linked Channels, Cleaning Streams): + Make it clearer that a just-opened input stream might need cleaning. + +2002-01-21 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): + Don't use label at end of compound statement. + +2002-01-28 Stephen L Moshier <moshier@mediaone.net> + + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (__ieee754_lgammal_r): + Remove test for negative integer arg; sin_pi does it correctly. + +2002-01-20 Ulrich Drepper <drepper@redhat.com> + + * nscd/Makefile (distribute): Filter out xmalloc.c. + +2002-01-19 Ulrich Drepper <drepper@redhat.com> + + * libio/fileops.c (_IO_file_underflow_mmap): Don't define as static. + Set offset if read end wasn't the buffer end. + (_IO_file_seekoff_mmap): New function. + (_IO_file_xsgetn_mmap): New function. + (_IO_file_jumps_mmap): Use the two new functions. + * libio/wfileops.c (_IO_wfile_underflow_mmap): Handle end read buffer + != end buffer. + * libio/libioP.h: Declare _IO_file_seekoff_mmap and + _IO_file_underflow_mmap. + * libio/iofopen.c: Don't position file descriptor at end of file. + * libio/tst-widetext.c: Improve error messages. + * stdio-common/tst-rndseek.c: Likewise. + +2002-01-18 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/bits/statvfs.h: Avoid warning about comma at + end of enum for !_GNU_SOURCE. + * sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Likewise. + * sysdeps/mach/hurd/bits/statvfs.h: Don't define non-standard ST_* + values unless _GNU_SOURCE. + + * iconvdata/tcvn5712-1.c: Minor cleanups. + +2002-01-18 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/configure.in + (libc_cv_gcc_unwind_find_fde): Set for m68k, too. + +2002-01-16 Roger Sayle <roger@eyesopen.com> + + * stdlib/msort.c (msort_with_tmp): Replace implementation with + more efficient "Towers of Hanoi" mergesort. + (hanoi_sort, hanoi_sort_int, hanoi_sort_long): New functions, + for generic, sizeof(int) and sizeof(long) variants respectively. + +2002-01-17 Ulrich Drepper <drepper@redhat.com> + + * manual/syslog.texi (openlog): Describe possible problems with + first parameter. + Patch by Christopher Allen Wing <wingc@engin.umich.edu>. + + * nscd/nscd.c (drop_privileges): Removed. Adjust caller. + * nscd/connections.c (begin_drop_privileges): New function. + (finish_drop_privileges): New function. + (nscd_init): Call the new functions which also install all groups + for the server user. + * nscd/Makefile (nscd-modules): Add xmalloc for nscd. + Patch by Christopher Allen Wing <wingc@engin.umich.edu>. + +2002-01-17 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Remove + `const' from `got'. + +2002-01-17 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S: Use 64 bit + instructions for pointer operations. + * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: Likewise. + +2002-01-17 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: GCC 3.1 has + __uint128_t build-in. + + * sysdeps/unix/sysv/linux/configure.in: Fix check for S390 and + PowerPC, sync with 2.2 branch. + +2002-01-16 Ulrich Drepper <drepper@redhat.com> + + * 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. + +2002-01-16 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Fix regexp to + reliably remove "-ia64" from rtld name. + +2002-01-16 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/gb18030.c: Bug fixes and support for more characters. + Patch by Yu Shao <yshao@redhat.com>. + +2002-01-16 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/swapcontext.c: Remove. + * sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S: New file. + * sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S: New file. + +2002-01-14 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/fpu/libm-test-ulps: Update. + +2002-01-11 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h: Update x86 relocations. + +2002-01-10 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/charmap.c (new_width): Check whether byte + sequences for both ends of range have the same length. + +2002-01-09 Jakub Jelinek <jakub@redhat.com> + + * elf/elf.h (SHN_UNDEF): Remove duplicate definition. + +2002-01-09 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/fpu/e_sqrt.c (__ieee754_sqrt): Don't use multi-line + string literals. + (__full_ieee754_sqrt): Add __attribute_used__. + +2002-01-10 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/group_member.c (__group_member): Also check + groups[0] [PR libc/2781]. + +2002-01-08 Ulrich Drepper <drepper@redhat.com> + + * Makefile (distribute): Add scripts/cpp. + * elf/Makefile (distribute): Add reldep6mod[01234].c, + unwind-dw2.c, unwind-dw2-fde.c, unwind.h, unwind-pe.h, + unwind-dw2-fde.h, and dwarf2.h. + * sysdeps/unix/bsd/bsd4.4/Dist: New file. + * sysdeps/unix/sysv/aix/Dist: Add sysv_termio.h and start-libc.c. + * sysdeps/unix/sysv/linux/ia64/Dist: Add ldd-rewrite.sed. + * sysdeps/unix/sysv/linux/s390/Dist: Likewise. + +2002-01-07 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Use + volatile on type of ARGC so the compiler doesn't get clever. + +2002-01-07 Andreas Jaeger <aj@suse.de> + + * sysdeps/generic/bits/byteswap.h: Prevent double inclusion. + * sysdeps/i386/bits/byteswap.h: Likewise. + * sysdeps/ia64/bits/byteswap.h: Likewise. + * sysdeps/m68k/bits/byteswap.h: Likewise. + * sysdeps/s390/s390-32/bits/byteswap.h: Likewise. + * sysdeps/s390/s390-64/bits/byteswap.h: Likewise [PR libc/2757]. + +2002-01-02 Bruno Haible <bruno@clisp.org> + + * intl/plural.y: Fix %expect count. + +2002-01-03 Jakub Jelinek <jakub@redhat.com> + + * elf/Makefile (routines, shared-only-routines): Add + unwind-dw2-fde-glibc instead of unwind-dw2-fde. + * elf/elf.h (PT_GNU_EH_FRAME): Define. + * sysdeps/generic/unwind-dw2-fde-glibc.c: New file. + * sysdeps/generic/unwind-dw2-fde.c (__register_frame_info_bases): + Optimize if .eh_frame section contains no FDEs. + (__register_frame, __deregister_frame_info_bases, + __deregister_frame): Likewise. + * sysdeps/generic/unwind-dw2.c (execute_cfa_program): Fix + DW_CFA_restore handling. + +2002-01-07 Stephen L Moshier <moshier@mediaone.net> + + * sysdeps/ieee754/ldbl-96/s_erfl.c (erfcl): Fix K&R header. + + * sysdeps/ieee754/ldbl-96/e_lgammal_r.c (sin_pi): Fix typo in test + for x < 0.25 and restore original range reduction method. + (__ieee754_lgammal_r): Make sure signgam is set before returning. + +2002-01-07 Ulrich Drepper <drepper@redhat.com> + + * libio/fileops.c (_IO_file_underflow_mmap): New function. + (_IO_file_close_mmap): New function. + (_IO_file_jumps_mmap): New variable. + * libio/wfileops.c (_IO_wfile_underflow): Reset read pointer before + trying to convert rest of byte buffer. + (_IO_wfile_underflow_mmap): New function. + (_IO_wfile_jumps_mmap): New variable. + * libio/iofopen.c (__fopen_maybe_mmap): New function. + (__fopen_internal): New function. Split out from _IO_new_fopen. + (_IO_new_fopen): Call __fopen_internal. + * libio/iofopen64.c: Just call __fopen_internal. + * libio/iofdopen.c: Call __fopen_maybe_mmap before returning + successfully. + * libio/iolibio.h: Declare __fopen_internal and __fopen_maybe_mmap. + * libio/libioP.h: Declare _IO_file_jumps_mmap, _IO_wfile_jumps_mmap, + _IO_file_close_mmap. + + * sysdeps/gnu/_G_config.h: Define _G_MMAP64. + * sysdeps/unix/sysv/linux/cris/_G_config.h: Likewise. + + * stdio-common/Makefile (tests): Add tst-rndseek. + * stdio-common/tst-rndseek.c: New file. + +2002-01-05 Roland McGrath <roland@frob.com> + + * config.h.in (HAVE_MIG_RETCODE): New #undef. + * sysdeps/mach/hurd/configure.in (hurd_MIG_RETCODE: New macro + swiped from hurd package's aclocal.m4; use it to set HAVE_MIG_RETCODE. + * sysdeps/mach/hurd/configure: Regenerated. + +2002-01-03 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h: Add more TLS definitions. + +2002-01-02 Ulrich Drepper <drepper@redhat.com> + + * include/features.h (__GLIBC_MINOR__): Bump to 3. + +2002-01-02 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/sigwait.c (__sigwait): Use __sigandset, + __sigisemptyset. Don't use MASK uninitialized. + + * sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Use __sigorset. + * hurd/hurdinit.c (_hurd_new_proc_init): Use __sigisemptyset. + * hurd/hurdsig.c (_hurd_internal_post_signal): Use __sigismember, + __sigdelset, __sigaddset, __sigorset. + + * sysdeps/generic/htonl.c: Use uint32_t instead of u_int32_t. + * sysdeps/generic/htons.c: Use uint16_t instead of u_int16_t. + + * hurd/hurdinit.c (_hurd_ports_use): Return EGRATUITOUS when + _hurd_ports is null. + + * hurd/hurdsig.c (_hurdsig_init): Conditionalize exception port setup + for old CMU and new OSF Mach interface flavors. + * hurd/hurdfault.c (_hurdsig_fault_init): Likewise. + * sysdeps/mach/hurd/fork.c (__fork): Likewise. + + * hurd/hurdsig.c (_hurd_internal_post_signal): Leave msgh_seqno unset. + + * sysdeps/mach/hurd/spawni.c (__spawni) [KERN_INVALID_LEDGER]: + Pass extra arguments to task_create for OSF variant. + * sysdeps/mach/hurd/fork.c (__fork): Likewise. + + * sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code + conditional on [HAVE_AUX_VECTOR]. + + * mach/mach/mach_traps.h (thread_switch, __thread_switch): Use + mach_msg_timeout_t as type of final argument. + + * hurd/privports.c (__get_privileged_ports): + Change host_priv_t to mach_port_t in argument type. + * hurd/hurd.h (get_privileged_ports, __get_privileged_ports): + Update decls. + + * sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from + multiple inclusion. Inhibit #error under [_SYS_UCONTEXT_H]. + * sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise. + * sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise. + * sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise. + * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise. + +2002-01-01 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/errnos.awk: Tighten up device_types.h matching. + +2002-01-01 Ulrich Drepper <drepper@redhat.com> + + * include/stdlib.h: Define inlines for the _l variants of the strto* + functions. + +2002-01-01 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/powerpc/intr-msg.h: Remove extraneous backslash. + + * mach/Machrules (MIG): Set CPP as well as CC. + +2001-12-31 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Always use C + locale to parse /proc/loadavg [PR libc/2760]. + +2001-12-31 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-conflict.c: Include sys/param.h. + (RESOLVE_CONFLICT_FIND_MAP): Cast r_offset to ElfW(Addr). + * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Avoid + warning. + (TRAMPOLINE_TEMPLATE, RTLD_START): Don't use multi-line string + literals to avoid warnings. + +2001-12-31 Andreas Jaeger <aj@suse.de> + + * configure.in: Don't check for gsed since we do not use it anywhere. + +2001-12-25 Dmitry V. Levin <ldv@alt-linux.org> + + * io/fts.c: Update from BSD to fix memory leaks. + +2001-12-25 Dmitry V. Levin <ldv@alt-linux.org> + + * crypt/md5-crypt.c: Realloc error handling memory leak fix. + * elf/chroot_canon.c: Likewise. + * elf/dl-object.c: Likewise. + * iconv/iconv_charmap.c: Likewise. + * iconv/iconv_prog.c: Likewise. + * libio/iogetdelim.c: Likewise. + * locale/lc-time.c: Likewise. + * stdlib/canonicalize.c: Likewise. + * sunrpc/svc.c: Likewise. + * sysdeps/generic/glob.c: Likewise. + +2001-12-19 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/profil-counter.h: Move/copy to ... + * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h: ... here, + remove high order bit from the program counter. + * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h: ... and here. + +2001-12-19 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela): Remove + unnecessary code and add missing reloc types. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela): Add empty + case for reloc type R_390_NONE. + +2001-12-28 Andreas Jaeger <aj@suse.de> + + * io/bug-ftw3.c: Include string.h for prototypes. + + * crypt/md5test.c (main): Remove unused variable. + + * dlfcn/modstatic.c: Add prototype to avoid warning. + +2001-12-26 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/sigwait.c (__sigwait): When returning immediately, + check only (SS->pending & MASK) for the signal to return. + From Jeroen Dekkers <jeroen@dekkers.cx>. + +2001-12-22 Roland McGrath <roland@frob.com> + + * iconv/skeleton.c [!RESET_INPUT_BUFFER && !SAVE_RESET_STATE]: + Use preprocessor #if conditionals instead of `if' to avoid + warnings about divide by zero in dead code. + + * hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set, + _hurd_port_init, and __hurd_self_sigstate. + + * mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy. + +2001-12-21 Andreas Jaeger <aj@suse.de> + + * elf/dblloadmod1.c: Add prototype to avoid warning. + * elf/dblloadmod2.c: Likewise. + * elf/dblloadmod3.c: Likewise. + * elf/reldepmod5.c: Likewise. + * elf/reldepmod6.c: Likewise. + + * elf/dl-conflict.c (_dl_resolve_conflicts): Add unused attribute + for resolve_conflict_map since RESOLVE_CONFLICT_FIND_MAP is not + used on all architectures. + + * sunrpc/svc_tcp.c: Add noreturn attribute for + svctcp_rendezvous_abort. + * sunrpc/svc_unix.c: Likewise for svcunix_rendezvous_abort. + + * sysdeps/generic/strstr.c (strstr): Add paranthese for assignment + to avoid warning. + +2001-12-19 Jakub Jelinek <jakub@redhat.com> + + * manual/llio.texi (aio_fsync): Fix a typo. + Patch by Tammy Fox <tfox@redhat.com>. + +2001-12-18 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (clone): Subtract + stack bias from child stack pointer before passing it to clone syscall. + +2001-12-18 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/posix/sysconf.c (__sysconf): Respect POSIX minimum for + _SC_TZNAME_MAX. + * sysdeps/generic/sysconf.c (__sysconf): Likewise. + Reported by Thorsten Kukuk <kukuk@suse.de>. + + * sysdeps/unix/grantpt.c (grantpt): Correct typo in comment and + add some casts. + + * sysdeps/unix/sysv/linux/grantpt.c: Make __unix_grantpt static. + +2001-12-18 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/grantpt.c: Make errno results standard + conforming: return EBADF if file descriptor is invalid and EINVAL + if file descriptor is no valid tty. + * login/tst-grantpt.c: New file. + * login/Makefile (tests): Add tst-grantpt. + +2001-12-17 Ulrich Drepper <drepper@redhat.com> + + * io/ftw.c (ftw_dir): Handle inaccessibility of toplevel dir + different than implemented in last patch. + * io/bug-ftw3.c: Adjust test for changed handling of + inaccessibility of toplevel dir. + +2001-12-16 Roland McGrath <roland@frob.com> + + * nss/nsswitch.c (__nss_next): Don't use __FUNCTION__ as literal. + * grp/initgroups.c (internal_getgrouplist): Likewise. + + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add `break' after + `default:' to silence new GCC warning. + Rewrite cast of lvalue to silence new GCC warning. + + * sysdeps/mach/hurd/i386/init-first.c: Avoid multi-line strings in asm. + + * sysdeps/mach/hurd/spawni.c: New file, by me with a + couple fixes by Neal H Walfield <neal@cs.uml.edu>. + +2001-12-14 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/strstr.c (strstr): Update. New optimized version. + Patch by Stephen R. van den Berg. + + * crypt/md5.h: Define md5_uintptr. + +2001-12-13 Ulrich Drepper <drepper@redhat.com> + + * libio/tst_swprintf.c (main): Add test for string argument with + zero precision. + * stdio-common/Makefile (tests): Add tst-sprintf. + * stdio-common/tst-sprintf.c: New file. + +2001-12-13 Andreas Schwab <schwab@suse.de> + + * stdio-common/vfprintf.c (process_string_arg): Correctly handle + zero precision with wide character string format. + +2001-12-13 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/posix/cuserid.c (cuserid): If we don't find the UID, + but have a user supplied buffer, return the empty buffer, not NULL. + +2001-12-13 Ulrich Drepper <drepper@redhat.com> + + * crypt/md5.c (md5_process_bytes): Correct handling of alignment. + Patch by Eric Sharkey <sharkey@netrics.com>. + + * crypt/md5test.c (main): Add test for multiple calls to + __md5_process_bytes to itererate over input string. + +2001-12-12 Ulrich Drepper <drepper@redhat.com> + + * nis/nis_findserv.c (__nis_findfastest_with_timeout): Mostly the code + from __nis_findfastest. Take timeout value from parameter. + (__nis_findfastest): Call __nis_findfastest_with_timeout repeatedly. + * nis/nis_intern.h: Define parameters controlling __nis_findfastest + [PR libc/2520]. Patch by Alexander Belopolsky <alexb@rentec.com>. + +2001-12-12 Andreas Jaeger <aj@suse.de> + + * configure.in: Use -nostartfiles -nostdlib for linker tests, fix + combreloc test so that it works in this case. + + * sysdeps/arm/dl-machine.h (elf_machine_rela): Fix typo in last patch. + +2001-12-12 NIIBE Yutaka <gniibe@m17n.org> + + * sysdeps/sh/Makefile: New file. + * sysdeps/sh/_mcount.S: New file. + * sysdeps/sh/sysdep.h (CALL_MCOUNT): Implemented. + * sysdeps/sh/machine-gmon.h: Remove "NOTYET" comment, as we are ready. + +2001-12-11 Ulrich Drepper <drepper@redhat.com> + + * resolv/nss_dns/dns-host.c (getanswer_r): Remove MAX_NR_ADDRS + limitation [PR libc/2564]. + +2001-12-11 Jakub Jelinek <jakub@redhat.com> + + * elf/Makefile (dl-routines): Add conflict. + (rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove. + (ld.so): Add _begin local symbol. + * elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM): + Define. + * elf/dl-deps.c (_dl_build_local_scope): New function. + (_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes + of all libraries. + * elf/do-rel.h (VALIDX): Define. + (elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do + lazy binding for RELA. If DT_GNU_PRELINKED, DT_RELACOUNT relocations + can be skipped. + * elf/dl-conflict.c: New file. + * elf/dl-lookup.c (_dl_debug_bindings): New function. + (_dl_lookup_symbol): Use _dl_debug_bindings. Reference_name is always + non-NULL. + (_dl_lookup_symbol_skip): Likewise. + (_dl_lookup_versioned_symbol): Likewise. + (_dl_lookup_versioned_symbol_skip): Likewise. + * elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined, + define to ElfW(Rel). + * elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic + tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI + ranges. + Don't adjust address dynamic tags if l_addr is 0. + * elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables. + (_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked. + (VALIDX, ADDRIDX): Define. + (_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end. + (dl_main): Print library list for LD_TRACE_PRELINKING. + If prelinking information can be used, skip relocating libraries and + call _dl_resolve_conflicts instead. + (process_envvars): Handle LD_TRACE_PRELINKING envvar. + * elf/dl-load.c (_dl_map_object): Don't create fake libs + if LD_TRACE_PRELINKING. + * include/link.h (struct link_map) [l_info]: Add DT_VALNUM + + DT_ADDRNUM. + * sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration. + (DL_DEBUG_PRELINK): Define. + (_dl_resolve_conflicts): Add prototype. + + * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize + .plt for prelinked libraries where prelinking info cannot be used. + (elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict + section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map. + * sysdeps/arm/bits/link.h: New file. + * sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original + content of .got[1]. + (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP. + (ELF_MACHINE_PLT_REL): Define. + (elf_machine_rela, elf_machine_rela_relative): New functions. + (elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead + of adjusting it if prelinked and prelinking cannot be used. + * sysdeps/i386/bits/link.h: New file. + * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original + content of .got[1]. + (ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP. + (ELF_MACHINE_PLT_REL): Define. + (elf_machine_rela, elf_machine_rela_relative): New functions. + (elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead + of adjusting it if prelinked and prelinking cannot be used. + * sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating + conflicts, skip finaladdr computation. Use RESOLVE_CONFLICT_FIND_MAP + to find out map for R_PPC_JMP_SLOT relocs. + * sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define. + (OPCODE_BA): Define. + (elf_machine_runtime_setup): Reinitialize .plt for prelinked + libraries where prelinking info cannot be used. + (sparc_fixup_plt): Renamed from elf_machine_fixup_plt. + (elf_machine_fixup_plt): Call sparc_fixup_plt. + (elf_machine_rela): Set value to 0 if relocating conflicts. + Call sparc_fixup_plt for R_SPARC_JMP_SLOT. + * sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define. + (sparc64_fixup_plt): Fix a typo. + (elf_machine_rela): Set value to 0 if relocating conflicts. + Handle R_SPARC_JMP_SLOT relocs when relocating conflicts. + (elf_machine_runtime_setup): Reinitialize .plt for prelinked + libraries where prelinking info cannot be used. + * sysdeps/sh/bits/link.h: New file. + * sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original + content of .got[1]. + (elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead + of adjusting it if prelinked and prelinking cannot be used. + * sysdeps/s390/s390-32/bits/link.h: New file. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup): + Save original content of .got[1]. + (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead + of adjusting it if prelinked and prelinking cannot be used. + * sysdeps/s390/s390-64/bits/link.h: New file. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup): + Save original content of .got[1]. + (elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead + of adjusting it if prelinked and prelinking cannot be used. + * sysdeps/x86_64/bits/link.h: New file. + * sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): + Save original content of .got[1]. + (elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead + of adjusting it if prelinked and prelinking cannot be used. + +2001-12-11 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/ptsname.c (__ptsname_r): Use sizeof + where appropriate instead of numbers. Little optimizations. + +2001-12-10 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/bind.c (bind): Don't deallocate IFSOCK if we never + set it. + + * shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): Set default + set to GLIBC_2.2.5, not GLIBC_2.2.4. + + * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): + Fix conditionals so this is set by default for stdio and not for libio. + * sysdeps/mach/hurd/configure: Regenerated. + +2001-12-10 Thorsten Kukuk <kukuk@suse.de> + + * io/ftw.c (ftw_startup): Check, if the path is search and readable. + +2001-12-10 Ulrich Drepper <drepper@redhat.com> + + * io/Makefile (tests): Add bug-ftw3. + * io/bug-ftw3.c: New file. + + * sysdeps/generic/glob.c (glob): Return only pattern if nothing + matches and GLOB_NOCHECK is set. + * posix/globtest.sh: Correct expected result for NOCHECK test. + + * po/ca.po: Update from translation team. + +2001-12-09 Ulrich Drepper <drepper@redhat.com> + + Implement transliteration of characters in strings of the locale + definitions. + * locale/programs/linereader.c: Adjust for additional parameter to + lr_token. + (get_string): If character <Uxxxx> is not found try to transliterate + it. + * locale/programs/ld-ctype.c: Adjust for additional parameter to + lr_token. Add const to charmap parameter of all functions. + (find_translit, find_translit2): New functions. + * locale/programs/charmap.c: Adjust for additional parameter to + lr_token. + * locale/programs/repertoire.c: Likewise. + * locale/programs/linereader.h: Likewise. + * locale/programs/ld-address.c: Likewise. Add const to charmap + parameter of all functions. + * locale/programs/ld-collate.c: Likewise. + * locale/programs/ld-identification.c: Likewise. + * locale/programs/ld-measurement.c: Likewise. + * locale/programs/ld-messages.c: Likewise. + * locale/programs/ld-monetary.c: Likewise. + * locale/programs/ld-name.c: Likewise. + * locale/programs/ld-numeric.c: Likewise. + * locale/programs/ld-paper.c: Likewise. + * locale/programs/ld-paper.c: Likewise. + * locale/programs/ld-telephone.c: Likewise. + * locale/programs/ld-time.c: Likewise. + * locale/programs/locfile.c: Likewise. + * locale/programs/localedef.c: Likewise. + * locale/programs/localedef.h: Likewise. + * locale/programs/locfile.h: Likewise. Add declaration for + find_translit. + * locale/programs/simple-hash.c: Add const to first parameter of + find_entry, iterate_table, and lookup. + * locale/programs/simple-hash.h: Likewise. + * locale/localeinfo.h: Don't define __LC_LAST here. Include <locale.h> + instead. + * include/locale.h: Define __LC_LAST. + * iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION. + +2001-12-07 Geoff Keating <geoffk@redhat.com> + + * sysdeps/powerpc/Dist: Update for recent FP changes. + * sysdeps/powerpc/fpu/Dist: Likewise. + +2001-12-07 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/opensock.c: Include <string.h>. + +2001-12-06 Geoff Keating <geoffk@redhat.com> + + * sysdeps/powerpc/Makefile (sysdep_routines): Don't build the fpr + save/restore functions here. + (libm-support): Don't define these functions here. + * sysdeps/powerpc/fpu/Makefile: Build the fpr save/restore + functions here. + * sysdeps/powerpc/fe_nomask.c: Move to... + * sysdeps/powerpc/fpu/fe_nomask.c: ... here. + * sysdeps/powerpc/fprrest.S: Move to... + * sysdeps/powerpc/fpu/fprrest.S: ... here. + * sysdeps/powerpc/fprsave.S: Move to... + * sysdeps/powerpc/fpu/fprsave.S: ... here. + +2001-12-06 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/opensock.c: New file. + +2001-12-06 Geoff Keating <geoffk@redhat.com> + + * config.make.in (with-fp): Define from configure. + * configure.in: Substitute with_fp. + * configure: Regenerate. + * sysdeps/powerpc/Makefile: Set -msoft-float when --without-fp is + specified, and don't change FPU environment. + +2001-12-06 Ulrich Drepper <drepper@redhat.com> + + * libio/vasprintf.c (_IO_vasprintf): Free buffer on failure. + * assert/assert.c: Check result of __asprintf call and don't use + string if it failed. + * assert/assert-perr.c: Likewise. + * inet/rcmd.c: Likewise. + * locale/programs/localedef.c (main): Check result of + construct_output_path and exit if it failed. + (construct_output_path): Check result of asprintf and mkdir calls and + fail if they failed. + * posix/getopt.c: Check result of __asprintf calls and fail if + they failed. + Patch by Dmitry V. Levin <ldv@alt-linux.org>. + +2001-12-05 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/strcasecmp.c (__strcasecmp): Little performance + patch. + * sysdeps/generic/strncase.c: Likewise. + * string/tester.c: Add tests for strcasecmp and strncasecmp. + +2001-12-05 Geoff Keating <geoffk@redhat.com> + + * scripts/cpp: Test the exit status from 'type', not 'awk'. + + * sysdeps/powerpc/__longjmp.S: Don't restore FP registers. + * sysdeps/powerpc/fpu/__longjmp.S: Do restore FP registers. + * sysdeps/powerpc/setjmp.S: Don't save FP registers. + * sysdeps/powerpc/fpu/setjmp.S: Do save FP registers. + * sysdeps/powerpc/fclrexcpt.c: Move to... + * sysdeps/powerpc/fpu/fclrexcpt.c: ... here. + * sysdeps/powerpc/fpu_control.h: Move to... + * sysdeps/powerpc/fpu/fpu_control.h: ... here. + +2001-12-05 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/ibm1129.h: Remove duplicate mappings. + * iconvdata/ibm937.c: Handle overflow errors. Handle new tables. + * iconvdata/ibm937.h: Reorganize table to safe a lot of space. + Patch by Masahide Washizawa <WASHI@jp.ibm.com>. + + * timezone/zic.c: Fix handling of turnaround times. + Patch by Arthur David Olson <olsona@dc37a.nci.nih.gov>. + +2001-12-02 Moshe Olshansky <OLSHANSK@il.ibm.com> + + * sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder): Fix + overflow problem. + +2001-12-05 Ulrich Drepper <drepper@redhat.com> + + * posix/regex.c: For use outside glibc defined bounded pointer + macros here. Patch by Jim Meyering <jim@meyering.net>. + + * iconvdata/Makefile (modules): Add TCVN5712-1. + * iconvdata/TESTS: Add TCVN5712-1. + * iconvdata/gconv-modules: Likewise. + * iconvdata/tcvn5712-1.c: New file. + * iconvdata/testdata/TCVN-5712: New file. + * iconvdata/testdata/TCVN-5712..UTF8: New file. + +2001-12-04 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/cp1258.c: Optimize conversion from UCS4. + +2001-12-02 Roland McGrath <roland@frob.com> + + * mach/Makefile, mach/Machrules: Move comments out of \ continuations. + + * hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning. + Reported by Jeff Bailey <jbailey@nisa.net>. + + * hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl. + Reported by Jeff Bailey <jbailey@nisa.net>. + + * mach/Makefile ($(objpfx)mach-syscalls.mk): Pass $(CFLAGS) to $(CC). + * mach/Machrules ($(objpfx)%.udeps static pattern rule): Likewise. + Reported by Jeff Bailey <jbailey@nisa.net>. + +2001-12-01 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Add + missing backslash in test arguments. + * sysdeps/mach/hurd/configure: Regenerated. + +2001-11-26 Roland McGrath <roland@frob.com> + + * hurd/hurdinit.c (_hurd_ports_use): Check if _hurd_ports is null. + Reported by John Tobey <jtobey@john-edwin-tobey.org>. + +2001-11-30 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/Makefile (modules): Add ARMSCII-8. + * iconvdata/gconv-modules: Add entries for ARMSCII-8. + * iconvdata/armscii-8.c: New file. + +2001-11-29 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/glob.c (next_brace_sub): Return NULL if braces + don't match, fix {{a,b},c} globbing, clean up. + Patch by Flavio Veloso <flaviovs@magnux.com>. + * posix/globtest.sh: Add new tests. + +2001-11-29 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/Versions: Add arch_prctl. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Add arch_prctl call. + + * sysdeps/generic/abort.c: Include libioP.h for + _IO_flush_all_lockp prototype. + +2001-11-29 Ulrich Drepper <drepper@redhat.com> + + * posix/regex.h: Define __restrict_arr correctly. + +2001-11-28 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/ibm1163.c: New file. + * iconvdata/ibm1163.h: New file. + * iconvdata/ibm1164.c: New file. + * iconvdata/ibm1164.h: New file. + * iconvdata/TESTS: Add entries for IBM1163 and IBM1164. + * iconvdata/Makefile: Likewise. + * iconvdata/testdata/IBM1163: New file. + * iconvdata/testdata/IBM1163..UTF8: New file. + * iconvdata/testdata/IBM1164: New file. + * iconvdata/testdata/IBM1164..UTF8: New file. + Patch by Masahide Washizawa <WASHI@jp.ibm.com>. + + * iconvdata/ibm1046.h: Optimize. Remove duplicate mappings. + * iconvdata/ibm1124.h: Likewise. + * iconvdata/ibm1132.h: Likewise. + * iconvdata/ibm1133.h: Likewise. + * iconvdata/ibm1160.h: Likewise. + * iconvdata/ibm1161.h: Likewise. + * iconvdata/ibm1162.h: Likewise. + * iconvdata/ibm856.h: Likewise. + * 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/ibm930.c: Pretty printing. + * iconvdata/ibm937.c: Avoid access accross array boundary. + + * iconv/gconv_open.c (__gconv_open): Empty codeset name now means using + the current locale's codeset. + * iconv/iconv_open.c (iconv_open): Don't strip out everything for + empty input string. + * iconv/iconv_prog.c: Pass empty strings as default value for to- + and from-charset. Don't determine locale's charset here. + + * libio/genops.c (_IO_flush_all_lockp): New function. The same code + as the old _IO_flush_all but lock only if parameter is nonzero. + (_IO_flush_all): Call _IO_flush_all_lockp with 1 as parameter. + * libio/libioP.h: Add prototype for _IO_flush_all_lockp. + * sysdeps/generic/abort.c (fflush): Define to _IO_flush_all_lockp(0) + if libio is used [PR libc/2575]. + +2001-11-28 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit, + __signbitl): Only define for ISO C99. + +2001-11-22 Thorsten Kukuk <kukuk@suse.de> + + * nss/nss_files/files-hosts.c (_nss_files_get##name##_r): Set + herrnop to NETDB_INTERNAL if we run out of buffer space. + +2001-11-28 Ulrich Drepper <drepper@redhat.com> + + * nss/nss_files/files-XXX.c (internal_getent): Correct input + overflow test for platforms with signed char. + Reported by Andrew Haley <aph@cambridge.redhat.com>. + +2001-11-28 Bruno Haible <bruno@clisp.org> + + * locale/programs/simple-hash.c (lookup_2): Remove function. + (insert_entry_2): Call lookup instead of lookup_2. + +2001-03-04 Bruno Haible <bruno@clisp.org> + + * intl/dcigettext.c (DCIGETTEXT): Increment path_max proportionally. + +2001-10-31 Bruno Haible <bruno@clisp.org> + + * intl/plural.y: Include <stddef.h>, needed for NULL with SunOS 4 cc. + +2001-03-21 Bruno Haible <bruno@clisp.org> + + * intl/dcigettext.c (_nl_state_lock): Mark as #ifdef _LIBC. AIX 3 xlc + chokes on empty macro arguments. + * intl/plural.y: Add #pragma for alloca on AIX 3. + +2001-11-27 Ulrich Drepper <drepper@redhat.com> + + * intl/dcigettext.c (guess_category_value): Only implement for + glibc. Otherwise rely on function _nl_locale_name which isn't + present in the glibc sources. + +2001-09-24 Bruno Haible <bruno@clisp.org> + + * intl/loadmsgcat.c (_nl_init_domain_conv): Also enable + transliteration when building on a glibc system but outside glibc. + +2001-09-22 Bruno Haible <bruno@clisp.org> + + * intl/plural-eval.c: New file, extracted from dcigettext.c. + * intl/dcigettext.c (plural_eval): Remove function, moved to + intl/plural-eval.c. + (plural_lookup): Call PLURAL_EVAL instead of plural_eval. + Include plural-eval.c. + +2001-09-22 Bruno Haible <bruno@clisp.org> + + * intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Reject numbers that + don't start with a digit; nplurals must be positive. + +2001-09-02 Bruno Haible <bruno@clisp.org> + + * intl/plural-exp.h: New file, extracted from gettextP.h. + * intl/plural-exp.c: New file, extracted from loadmsgcat.c. + * intl/gettextP.h (struct expression, struct parse_args, + __gettext_free_exp, __gettextparse): Move to plural-exp.h. + * intl/loadmsgcat.c: Include plural-exp.h. + (PLURAL_PARSE): Move macro to plural-exp.h. + (plvar, plone, germanic_plural, INIT_GERMANIC_PLURAL): Move to + plural-exp.c. + (_nl_load_domain): Move plural handling code to plural-exp.c. Call + EXTRACT_PLURAL_EXPRESSION. + (_nl_unload_domain): Update. + * intl/dcigettext.c: Include plural-exp.h. + * intl/plural.y: Include plural-exp.h, not gettextP.h. + (FREE_EXPRESSION): Move macro to plural-exp.h. + * intl/Makefile (routines): Add plural-exp. + (distribute): Add plural-exp.h. + +2001-07-28 Bruno Haible <bruno@clisp.org> + + * intl/l10nflist.c (_nl_normalize_codeset): Cast isalnum, isalpha, + isdigit, tolower argument to 'unsigned char'. + * intl/loadmsgcat.c (_nl_load_domain): Cast isspace argument to + 'unsigned char'. + * intl/localealias.c (read_alias_file): Cast isspace argument to + 'unsigned char'. + +2001-10-20 Bruno Haible <bruno@clisp.org> + + Assume strchr() exists. (Without it, intl/explodename.c wouldn't link + anyway.) + * intl/dcigettext.c (strchr): Remove fallback definition; it conflicts + with the variable 'index' in plural_lookup. + * intl/l10nflist.c (strchr): Likewise. + * intl/localealias.c (strchr): Likewise. + + Assume <stddef.h>, <stdlib.h>, <string.h>, <locale.h> exist. + * intl/bindtextdom.c: Likewise. + * intl/dcigettext.c: Likewise. + * intl/dgettext.c: Likewise. + * intl/dngettext.c: Likewise. + * intl/explodename.c: Likewise. + * intl/finddomain.c: Likewise. + * intl/gettext.c: Likewise. + * intl/l10nflist.c: Likewise. + * intl/loadmsgcat.c: Likewise. + * intl/localealias.c: Likewise. + * intl/ngettext.c: Likewise. + * intl/textdomain.c: Likewise. + * intl/gettext.h: Assume <limits.h> exists. + +2001-11-27 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/Makefile (tests): Add scanf11. + * stdio-common/scanf11.c: New file. + +2001-11-26 Ulrich Drepper <drepper@redhat.com> + + * version.h (RELEASE): Define as development. + (VERSION): Set to 2.2.90. + +2001-11-22 Thorsten Kukuk <kukuk@suse.de> + + * nis/nss_compat/compat-grp.c: Print group id as unsigned long. + * nis/nss_nis/nis-grp.c: Likewise. + * nis/nss_nisplus/nisplus-grp.c: Likewise. + + * nis/nss_compat/compat-pwd.c: Print user id as unsigned long. + * nis/nss_nis/nis-pwd.c: Likewise. + * nis/nss_nisplus/nisplus-pwd.c: Likewise. + + * nis/nss_nis/nis-publickey.c: Use strtoul instead of atoi. + * nis/nss_nisplus/nisplus-parser.c: Likewise. + * nis/nss_nisplus/nisplus-publickey.c: Likewise. + + * nscd/grpcache.c: Use strtoul instead of atol. + * nscd/pwdcache.c: Likewise. + * nss/getent.c: Likewise. + +2001-11-27 Paul Eggert <eggert@twinsun.com> + + * sysdeps/posix/tempname.c (__gen_tempname): Try at least + ATTEMPTS_MIN or TMP_MAX times, whichever is greater. + +2001-11-19 Bruno Haible <bruno@clisp.org> + + * locale/programs/simple-hash.c (insert_entry_2): Resize at 75%, not + 90%. + (compute_hashval): Shift by 9 bits, not by 4 bits. This drastically + improves the quality of the hash function, especially for short + strings. + +2001-11-26 Ulrich Drepper <drepper@redhat.com> + + * stdio-common/vfscanf.c: If incomplete nan of inf(inity) strings + are found call conv_error and not input_error [PR libc/2669]. + + * math/bits/mathcalls.h: Mark ceil and floor as const. + Reported by David Mosberger. + +2001-11-21 Jim Meyering <meyering@lucent.com> + + * posix/regex.c (iswctype, mbrtowc, wcslen, wcscoll, wcrtomb) [_LIBC]: + Define to be __-prefixed. + Remove unnecessary duplication in `#ifdef _LIBC' blocks. + +2001-11-26 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/hppa/brk.c: Remove __brk_addr alias, + avoid warning. + +2001-11-26 Stephen L Moshier <moshier@mediaone.net> + + * sysdeps/ieee754/ldbl-128/e_log10l.c (L102B): Fix typo in + initialization. + + * sysdeps/ieee754/ldbl-128/e_coshl.c (__ieee754_coshl): Remove + unused variables. Fix threshold for returning 1.0. + + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c (neval, deval): Constify + argument. + + * sysdeps/ieee754/ldbl-128/s_erfl.c (neval, deval): Likewise, and + remove unused variables. + + * sysdeps/ieee754/ldbl-128/e_j0l.c (neval, deval): Likewise. + + * sysdeps/ieee754/ldbl-128/e_j1l.c (neval, deval): Likewise, and + include local math header files. + +2001-11-22 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/ldbl-96/s_ilogbl.c (__ilogbl): Add brace to + avoid warning. + +2001-11-21 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h: New file. + + * sysdeps/unix/sysv/linux/x86_64/Makefile (sysdep_headers): Add + sys/debugreg.h + +2001-11-15 Andreas Jaeger <aj@suse.de> + + * include/features.h (__GLIBC_HAVE_LONG_LONG): Define for + compilers that support it. + + * posix/sys/types.h: Use __GLIBC_HAVE_LONG_LONG. + * sysdeps/unix/sysv/linux/bits/types.h: Likewise. + * stdlib/stdlib.h: Likewise. + +2001-11-17 Ulrich Drepper <drepper@redhat.com> + + * posix/regex.c (byte_re_match_2_internal): For gcc replace switch + statement with gotos. + Based on a patch by Paolo Bonzini <bonzini@pc-amo3.elet.polimi.it>. + +2001-11-16 Stephen L Moshier <moshier@mediaone.net> + + * sysdeps/ieee754/ldbl-96/s_erfl.c (__erfcl): Fix K&R header. + +2001-11-15 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/unwind-dw2-fde.c: Don't use recursive mutexes. + +2001-10-02 Jakub Jelinek <jakub@redhat.com> + H.J. Lu <hjl@gnu.org> + + * Versions.def (libc): Add GCC_3.0. + * configure.in (libc_cv_gcc_static_libgcc): Set to -static-libgcc + if gcc supports this flag. + (EXPORT_UNWIND_FIND_FDE): Define unless target configure disables it. + (gcc3): Allow glibc to be compiled with gcc 3.x. + * config.h.in (EXPORT_UNWIND_FIND_FDE): Add. + * config.make.in (static-libgcc, unwind-find-fde): Add. + * Makerules (build-shlib-helper, build-module-helper): Use it. + * scripts/versions.awk: Make sure GLIBC_ versions come first. + * elf/soinit.c (__libc_global_ctors): Set tbases and dbases if + necessary. + (_fini): Call __deregister_frame_info_bases if + __register_frame_info_bases was used to register. + * elf/Versions (__register_frame_info, __deregister_frame_info): Add + for GLIBC_2.0. + (__register_frame_info_bases, __register_frame_info_table_bases, + __deregister_frame_info_bases, _Unwind_Find_FDE): Add for GCC_3.0. + * elf/Makefile (routines): Add unwind-dw2-fde. + (shared-only-routines): Add unwind-dw2-fde. + * sysdeps/alpha/gccframe.h: New file. + * sysdeps/arm/gccframe.h: New file. + * sysdeps/generic/framestate.c: New file. + * sysdeps/generic/dwarf2.h: New file. + * sysdeps/generic/gccframe.h (struct object): Update from gcc 3.0. + * sysdeps/generic/unwind-dw2-fde.c: New file. + * sysdeps/unix/sysv/linux/ia64/unwind-dw2-fde.c: New file. + * sysdeps/generic/unwind-dw2-fde.h: New file. + * sysdeps/generic/unwind-dw2.c: New file. + * sysdeps/generic/unwind-pe.h: New file. + * sysdeps/generic/unwind.h: New file. + * sysdeps/hppa/gccframe.h: New file. + * sysdeps/i386/gccframe.h: New file. + * sysdeps/m68k/gccframe.h: New file. + * sysdeps/mips/gccframe.h: New file. + * sysdeps/powerpc/gccframe.h: New file. + * sysdeps/s390/gccframe.h: New file. + * sysdeps/sh/gccframe.h: New file. + * sysdeps/sparc/gccframe.h: New file. + * sysdeps/vax/gccframe.h: New file. + * sysdeps/unix/sysv/linux/configure.in (libc_cv_gcc_unwind_find_fde): + Set on all architectures except ia64. + * sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde): Set + for i386. + * sysdeps/mach/hurd/i386/Versions (__register_frame_info, + __deregister_frame_info): Move to elf/Versions. + * sysdeps/unix/sysv/linux/m68k/Versions: Likewise. + * sysdeps/unix/sysv/linux/arm/Versions: Likewise. + * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. + * sysdeps/unix/sysv/linux/i386/Versions: Likewise. + * sysdeps/unix/sysv/linux/mips/Versions: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Versions: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/Versions: Likewise. + * sysdeps/mach/hurd/i386/Makefile (sysdep-routines): Add framestate. + * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. + * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/m68k/Makefile: Likewise. + * sysdeps/unix/sysv/linux/mips/Makefile: Likewise. + * sysdeps/unix/sysv/linux/powerpc/Makefile: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise. + * sysdeps/unix/sysv/linux/sparc/Makefile: Likewise. + +2001-11-15 Jeff Law <law@redhat.com> + + * posix/regex.c (uintptr_t): Do not provide a definition if the + system provided one. + +2001-11-13 Roland McGrath <roland@frob.com> + + * stdio-common/tmpfile.c: Moved to ... + * sysdeps/generic/tmpfile.c: ... here. + * sysdeps/mach/hurd/tmpfile.c: New file. + + * hurd/fopenport.c (__fopenport): Renamed from fopenport. + [USE_IN_LIBIO] (fopencookie): #define as _IO_fopencookie. + (fopenport): Define as weak alias. + + * libio/iofopncook.c (_IO_fopencookie): Move forward declaration ... + * libio/libioP.h: ... to here. + +2001-11-12 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-reloc.c (_dl_relocate_object): Avoid iterating over + program header twice. Construct list with the needed information. + +2001-11-10 Ulrich Drepper <drepper@redhat.com> + + * po/ca.po: Update from translation team. + + * elf/dl-load.c (_dl_map_object_from_fd): Remove use of + _dl_pf_to_prot. Use arithmetic operation using PF_TO_PROT macro. + * sysdeps/generic/ldsodefs.h (PF_TO_PROT): New macro. + * elf/dl-reloc.c (_dl_relocate_object): Likewise. + +2001-11-10 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/ldbl-128/e_log2l.c: New file. + * sysdeps/ieee754/ldbl-128/e_log10l.c: Likewise. + Contributed by Stephen L Moshier <moshier@mediaone.net>. + +2001-11-09 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-minimal.c (realloc): Handle NULL for first parameter + correctly. + * elf/dl-load.c (is_dst): New function. + (_dl_dst_count): Use is_dst to check for DST variable. + (_dl_dst_substitute): Likewise. + +2001-11-09 Roland McGrath <roland@frob.com> + + Hurd/PowerPC port contributed by Peter Bruin <pjbruin@dds.nl>. + * sysdeps/mach/hurd/powerpc/exc2signal.c: New file. + * sysdeps/mach/hurd/powerpc/init-first.c: New file. + * sysdeps/mach/hurd/powerpc/intr-msg.h: New file. + * sysdeps/mach/hurd/powerpc/longjmp-ts.c: New file. + * sysdeps/mach/hurd/powerpc/register-dump.h: New file. + * sysdeps/mach/hurd/powerpc/sigreturn.c: New file. + * sysdeps/mach/hurd/powerpc/static-start.S: New file. + * sysdeps/mach/hurd/powerpc/trampoline.c: New file. + * sysdeps/mach/hurd/powerpc/bits/sigcontext.h: New file. + * sysdeps/mach/hurd/powerpc/Dist: New file. + + * hurd/privports.c (__get_privileged_ports): + Only contact the proc server if necessary for this call. + Suggested by Neal H Walfield <neal@cs.uml.edu>. + Check error return for mach_port_mod_refs. + +2001-11-09 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/m68k/bits/resource.h: New file. + +2001-11-09 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (lose): Remove some unnecessary code. The new + object is always the last in the list. + (_dl_map_object_from_fd): Delete code to remove from object list + when DF_1_NOOPEN is seen. This is done in lose. + +2001-11-08 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-object.c (_dl_new_object): Various small optimizations. + +2001-11-07 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/dl-cache.c: Optimize SEARCH_CACHE and + HWCAP_CHECK macro code. + + * elf/dl-misc.c (_dl_sysdep_read_whole_file): Optimize code a bit. + Now returns MAP_FAILED on error. + * elf/rtld.c: Adjust caller. + * sysdeps/generic/dl-cache.c: Likewise. + * sysdeps/generic/ldsodefs.h: Adjust description. + + * elf/dl-version.c (match_symbol): Optimize error handling for size. + (_dl_check_map_versions): Likewise. + +2001-11-06 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object_from_fd): Don't call + _dl_signal_error directly, always use lose. Set fd to -1 after + file is closed. + (lose): Don't call close if fd == -1. + +2001-11-07 Kaoru Fukui <k_fukui@highway.ne.jp> + + * manual/charset.texi: Fix typo @w[ISO 6937] to @w{ISO 6937}. + Also fix typo @code {mbsinit} to @code{mbsinit}. + +2001-11-06 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-profile.c: Replace state variable with simple flag named + running. Remove commented-out code. + + * elf/dl-load.c (decompose_rpath): Optimize error handling for size. + (_dl_init_paths): Likewise. + (_dl_map_object_from_fd): Likewise. + * elf/dl-reloc.c (_dl_relocate_object): Likewise. + +2001-11-06 Roland McGrath <roland@frob.com> + + * sysdeps/mach/powerpc/sysdep.h: Include sysdeps/unix/powerpc/sysdep.h + instead of sysdeps/powerpc/elf/sysdep.h and sysdeps/unix/sysdep.h. + + * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Don't include + sysdeps/powerpc/elf/sysdep.h. + Reported by Kaoru Fukui <k_fukui@highway.ne.jp>. + +2001-11-05 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (process_dl_debug): Rewritten. Optimized for size not + speed. + (process_envvars): Some more optimizations. + * sysdeps/generic/ldsodefs.h (DL_DEBUG_HELP): New macro. + + * elf/elf.h: Add dynamic tag definitions for prelinking. + + * elf/rtld.c (process_envvars): Avoid using array of string pointers. + Rewrite code to remove environment varables for SUID binaries. + Small optimization in LD_PROFILE handling. + * sysdeps/generic/unsecvars.h: Adjust format for process_envvars + changes. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise. + + * sysdeps/generic/dl-sysdep.c: Don't initialize _dl_cpuclock_offset. + + * elf/dl-reloc.c (_dl_reloc_bad_type): Rewrite to not use writable + strings. Change type of second parameter. + * sysdeps/generic/ldsodefs.h: Adjust _dl_reloc_bad_type prototype + for last change. + + * io/fts.h: Prevent using <fts.h> with _FILE_OFFSET_BITS=64. + +2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk> + + * manual/string.texi: Fix typos. + * manual/examples/argp-ex2.c: Likewise. + +2001-11-05 Roland McGrath <roland@frob.com> + + * sysdeps/powerpc/elf/sysdep.h: Remove this file, because it overrides + the more-specific unix/sysv/linux/powerpc file and breaks everything. + * sysdeps/powerpc/sysdep.h (ALIGNARG, ASM_TYPE_DIRECTIVE, + ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, DO_CALL, JUMPTARGET, + PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): These macros moved here + here, put under [__ELF__]. + +2001-11-05 Ulrich Drepper <drepper@redhat.com> + + * manual/charset.texi: Extensive editing work. + * manual/nss.texi: Likewise. + Changes by Dennis Grace <dgrace@us.ibm.com>. + +2001-11-04 Roland McGrath <roland@frob.com> + + * hurd/set-host.c (_hurd_set_host_config): Use O_WRONLY in flags + parameter to dir_mkfile. + +2001-11-02 Jakub Jelinek <jakub@redhat.com> + + * string/bits/string2.h (__strndup): If n is smaller than len, set + len to n + 1. + * string/tester.c (test_strndup): New function. + (main): Call it. + +2001-11-01 Ulrich Drepper <drepper@redhat.com> + + * sunrpc/rpc_main.c: Optimize variable definitions a bit. + + * sunrpc/Makefile (rpcgen-cmd): Use ../scripts/cpp in rpcgen calls. + * scripts/cpp: New file. + + * elf/dl-load.c (_dl_map_object): Correct test of DF_1_NODEFLIB + for rtld_search_dirs content. Minor optimizations. + +2001-10-31 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object): Make code a bit more compact by + avoiding unnecessary duplication. + +2001-10-31 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-load.c (_dl_map_object): If library was found using + LD_LIBRARY_PATH, don't try RUNPATH list. + +2001-10-31 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h (REGISTER_DUMP): + Correct second argument of register_dump call. + * sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h (REGISTER_DUMP): + Likewise. + +2001-10-31 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/Makefile: Add support for IBM1132, IBM1133, and IBM1162 + modules. + * iconvdata/TESTS: Likewise. + * iconvdata/gconv-modules: Likewise. + * iconvdata/ibm1132.c: New file. + * iconvdata/ibm1132.h: New file. + * iconvdata/ibm1133.c: New file. + * iconvdata/ibm1133.h: New file. + * iconvdata/ibm1162.c: New file. + * iconvdata/ibm1162.h: New file. + * iconvdata/testdata/IBM1132: New file. + * iconvdata/testdata/IBM1132..UTF8: New file. + * iconvdata/testdata/IBM1133: New file. + * iconvdata/testdata/IBM1133..UTF8: New file. + * iconvdata/testdata/IBM1162: New file. + * iconvdata/testdata/IBM1162..UTF8: New file. + Patches by Masahide Washizawa <WASHI@jp.ibm.com>. + + * string/string.h: Fix typo in comment. + * wcsmbs/wchar.h: Likewise. + +2001-10-30 Joseph S. Myers <jsm28@cam.ac.uk> + + * manual/getopt.texi (getopt_long, getopt_long_only): Include + const in type of longopts parameter. + +2001-10-29 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/dbl-64/mpa.h: Add prototypes for internal functions. + +2001-10-29 Kevin Ryde <user42@zip.com.au> + + * manual/stdio.texi (Integer Conversions): Corrections to sample printf + output, clarify `#' behaviour on 0. + (Floating-Point Conversions): Clarify that %g only uses %e when + the exponent would be greater than 1. + +2001-10-28 Roland McGrath <roland@frob.com> + + Support for Mach/PowerPC contributed by Peter Bruin <pjbruin@dds.nl>. + * sysdeps/mach/powerpc/machine-sp.h: New file. + * sysdeps/mach/powerpc/sysdep.h: New file. + * sysdeps/mach/powerpc/thread_state.h: New file. + + * sysdeps/mach/hurd/i386/Makefile: File removed; crt0.o rules moved ... + * sysdeps/mach/hurd/Makefile: ... to here. For the time being, we can + expect to need the same thing on every platform. + + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: File moved ... + * sysdeps/generic/sys/ucontext.h: ... to replace this one. + + * sysdeps/unix/sysv/linux/powerpc/sysdep.h (ALIGNARG, + ASM_TYPE_DIRECTIVE, ASM_SIZE_DIRECTIVE, CALL_MCOUNT, ENTRY, EALIGN, + DO_CALL, JUMPTARGET, PSEUDO, PSEUDO_RET, PSEUDO_END, L, C_TEXT): + Move all these assembly-related definitions to ... + * sysdeps/powerpc/elf/sysdep.h: ... this new file. + + * sysdeps/mach/powerpc/machine-lock.h: Assembly code rewritten + by Peter Bruin <pjbruin@dds.nl>. + + * hurd/hurdselect.c (_hurd_select): Check SELECT_RETURNED bit when + packing results for a `poll' call. + +2001-10-26 Ulrich Drepper <drepper@redhat.com> + + * posix/fnmatch_loop.c: Recognize - at end of bracket expression + correctly. + * posix/tst-fnmatch.input: Add tests for - at beginning and end of + bracket expression. + + * string/strxfrm.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get + nrules value. + * string/tst-strxfrm.c (test): Also test __strxfrm_l. + +2001-10-24 H.J. Lu <hjl@gnu.org> + + * sysdeps/generic/bits/dlfcn.h (DL_CALL_FCT): Cast to void *. + Use __BEGIN_DECLS/__END_DECLS around prototypes. + * sysdeps/mips/bits/dlfcn.h (DL_CALL_FCT): Likewise. + +2001-10-21 Jim Meyering <meyering@lucent.com> + + * malloc/obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise, + this code would end up calling gettext even in packages built + with --disable-nls. + * posix/getopt.c (_): Likewise. + * posix/regex.c (_): Likewise. + +2001-10-26 Ulrich Drepper <drepper@redhat.com> + + * resolv/gethnamaddr.c (gethostbyaddr): Use ip6.addr for reverse + lookup not ip6.int. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. + Reported by Martin.v.Loewis@t-online.de [PR libc/2598]. + +2001-10-19 Jakub Jelinek <jakub@redhat.com> + + * misc/sys/cdefs.h (__attribute_used__): Define. + * elf/rtld.c (_dl_start): Add __attribute_used__. + * elf/dl-runtime.c (fixup, profile_fixup): Likewise. + +2001-10-25 Andreas Schwab <schwab@suse.de> + + * stdlib/a64l.c: Expect least significant digit first. + * stdlib/l64a.c: Produce least significant digit first. + * stdlib/Makefile (tests): Add test-a64l. + * stdlib/test-a64l.c: New file. + Reported by Masaki Hasegawa <masaki-h@pp.iij4u.or.jp>. + +2001-10-21 Ulrich Drepper <drepper@redhat.com> + + * po/sk.po: Update from translation team. + +2001-10-18 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/i386/elf/start.S (_fp_hw): Define object type. + +2001-10-18 Andreas Schwab <schwab@suse.de> + + * math/libm-test.inc (print_ulps): Print ulp values rounded to + next whole number. + (print_function_ulps): Likewise. + (print_complex_function_ulps): Likewise. + (print_max_error): Likewise. + (print_complex_max_error): Likewise. Handle ignore_max_ulp. + +2001-10-16 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/fpu/libm-test-ulps: Updated for fixed cbrtl + implementation. + + * sysdeps/m68k/setjmp.c: Also define setjmp and _setjmp if + BSD_SETJMP or BSD__SETJMP is defined, resp. + * sysdeps/m68k/bsd-setjmp.c: Inline setjmp code instead of making + a tail call to __sigsetjmp that would require extending the + caller's frame. + * sysdeps/m68k/bsd-_setjmp.c: Likewise. + * sysdeps/m68k/bsd-setjmp.S: Deleted. + * sysdeps/m68k/bsd-_setjmp.S: Deleted. + Reported by Jes Sorensen <jes@trained-monkey.org>. + +2001-10-16 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/ldbl-96/s_nextafterl.c (__nextafterl): Fix + parentheses. Reported by David Byron <dbyron@porto.coactive.com>, + close PR libc/2589. + +2001-10-15 Ulrich Drepper <drepper@redhat.com> + + * po/ca.po: New file. Contributed by the translation team. + +2001-10-15 Ralf Baechle <ralf@gnu.org> + + * sysdeps/unix/sysv/linux/mips/sys/sysmips.h: Make sysmips() prototype + a varargs prototype. Remove dependency from kernel header files. + + * sysdeps/unix/sysv/linux/mips/bits/termios.h: General cleanup, use + __USE_MISC / __USE_XOPEN not __USE_BSD where appropriate. + +2001-10-14 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/ld-collate.c (handle_ellipsis): Use %lX not %lx + to generate hexadecimal identifier. + Patch by Jungshik Shin <jungshik.shin@yale.edu>. + +2001-10-09 Stephen L Moshier <moshier@mediaone.net> + + * sysdeps/ieee754/ldbl-96/s_cbrtl.c (__cbrtl): Fix algorithm. + +2001-10-14 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ieee754/ldbl-128/e_powl.c: New file. + * sysdeps/ieee754/ldbl-128/s_cbrtl.c: New file. + Contributed by Stephen L Moshier <moshier@mediaone.net>. + + * sysdeps/ieee754/ldbl-128/e_j0l.c: Constify float variables. + * sysdeps/ieee754/ldbl-128/e_j1l.c: Likewise. + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Likewise + * sysdeps/ieee754/ldbl-128/s_erfl.c: Likewise + * sysdeps/ieee754/ldbl-128/s_expm1l.c: Likewise + * sysdeps/ieee754/ldbl-128/s_log1pl.c: Likewise + + * timezone/africa: Update from tzdata2001d. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/europe: Likewise. + * timezone/leapseconds: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2001-10-09 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/s390-32/sys/ucontext.h: Correct __psw_t typedef. + * sysdeps/s390/s390-64/sys/ucontext.h: Likewise. + +2001-10-12 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h (PT_TLS): New definition. + +2001-10-10 Jeff Bailey <jbailey@nisa.net> + + * sysdeps/mach/hurd/Makefile: Add $(CFLAGS) for generation of + bits/errno.h + +2001-10-07 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/setrlimit.c (__setrlimit): Never return ENOSYS. + +2001-10-10 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h: Add more ELFOSABI_* constants. + +2001-10-04 Ben Collins <bcollins@debian.org> + + * sysdeps/generic/inttypes.h: Fix typo (define, not defined) in + decleration of __need_wchar_t. + +2001-10-03 Jakub Jelinek <jakub@redhat.com> + + * string/bits/string2.h (__strsep_g): Add prototype. + (__strsep): Use it. + * string/Versions (__strsep): Remove. + * sysdeps/generic/strsep.c (__strsep_g): Add alias to __strsep. + +2001-10-07 Ulrich Drepper <drepper@redhat.com> + + * manua/llio.texi: Clarify file references added by mmap. + Patch by Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>. + +2001-09-29 Jes Sorensen <jes@trained-monkey.org> + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext): + Add sc_loadrs and sc_rbs_bas to match current kernel. + +2001-09-27 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update. + + * sysdeps/ieee754/ldbl-128/s_erfl.c (__erfcl): Fix erfc(-inf). + +2001-09-27 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-open.c (dl_open_worker): If l_opencount of freshly loaded + object has been bumped because of relocation dependency, avoid + duplicates in l_scope. + (show_scope): Fix typos. + * elf/Makefile: Add rules to build and run reldep6. + * elf/reldep6.c: New file. + * elf/reldep6mod0.c: New file. + * elf/reldep6mod1.c: New file. + * elf/reldep6mod2.c: New file. + * elf/reldep6mod3.c: New file. + * elf/reldep6mod4.c: New file. + +2001-09-26 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Call + sparc64_fixup_plt. + (sparc64_fixup_plt): Moved from elf_machine_fixup_plt. Optimize + near jumps and 0xfffff800XXXXXXXX target addresses, no thread safety + for non-lazy binding. Fix .plt[32768+] handling. + (elf_machine_plt_value): Don't add addend. + (elf_machine_rela): Call sparc64_fixup_plt instead of + elf_machine_fixup_plt. + (elf_machine_runtime_setup, TRAMPOLINE_TEMPLATE): Optimize for + dynamic linker at 0xfffff800XXXXXXXX. + + * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update. + +2001-09-28 Ulrich Drepper <drepper@redhat.com> + + * elf/elf.h: Define SHF_GROUP and SHF_TLS. + +2001-09-25 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/bsd/bsd4.4/bits/socket.h (struct cmsghdr): Don't + declare __cmsg_data field if its size would be bigger than 0. + (CMSG_DATA): Adjust accordingly. + * sysdeps/unix/sysv/aix/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/ia64/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/socket.h: Likewise. + +2001-09-25 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/TESTS: Add entries for IBM1160 and IBM1161. + * iconvdata/testdata/IBM1160: New file. + * iconvdata/testdata/IBM1160..UTF8: New file. + * iconvdata/testdata/IBM1161: New file. + * iconvdata/testdata/IBM1161..UTF8: New file. + Patch by Masahide Washizawa <WASHI@jp.ibm.com>. + +2001-09-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/bsd/ulimit.c (ulimit): Handle overflow in + UL_SETFSIZE computations better. + + * rt/Makefile: Remove use of filter for librt again. + + * sysdeps/unix/sysv/linux/ulimit.c (__ulimit): Handle overflow in + UL_SETFSIZE computations better. + + * string/Versions: Export __strsep for GLIBC_2.2.5. + * string/bits/string2.h: Define all __STRING_INLINE functions if + _FORCE_INLINES is defined. + Use int instead of char of parameter types. + (__strsep): Don't use __strsep_g. Don't define it. + (__strsep_1c, __strsep_2c, __strsep_3c): Optimize. + * sysdeps/i386/i486/string.h (__strcpy_a_small): Renamed from + __strcpy_small. + (__stpcpy_a_small): Renamed from __stpcpy_small. + (__strcspn_c1): Don't define if _FORCE_INLINES. + (__strspn_c1): Likewise. + +2001-09-22 Ben Collins <bcollins@debian.org> + + * sysdeps/sparc/bits/sigaction.h: Define SA_RESTART and friends when + _UNIX98_SOURCE is defined too. Matches generic/bits/sigaction.h. + * sysdeps/ia64/bits/sigaction.h: Likewise. + * sysdeps/s390/s390-64/bits/sigaction.h: Likewise. + +2001-09-24 Andrew Haley <aph@cambridge.redhat.com> + + * sysdeps/unix/sysv/linux/sh/Makefile (sysdep_headers): Add sys/io.h. + +2001-09-24 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-open.c (dl_open_worker): Update l_scope_max. + +2001-09-24 Ulrich Drepper <drepper@redhat.com> + + * wcsmbs/wchar.h: Add __attribute_pure__ to mbsinit prototype. + +2001-09-20 H.J. Lu <hjl@gnu.org> + + * include/dlfcn.h (__RTLD_SPROF): New definiton. + * elf/dl-open.c (dl_open_worker): Return immediately after loading + for __RTLD_SPROF. + * elf/sprof.c (main): Default to the filename if soname doesn't exist. + (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF'. + +2001-09-20 H.J. Lu <hjl@gnu.org> + + * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, + don't add 1. + +2001-09-22 Ulrich Drepper <drepper@redhat.com> + + * nss/getent.c: Accept -s parameter to overwrite rules in + nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. + + * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string + with as many ".0" as necessary to form a complete address + inet_network understands. + + * nss/getent.c: Various cleanups. Use simpler and fewer function + calls. + +2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in + _JMPBUF_UNWINDS. + * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. + +2001-09-22 Ulrich Drepper <drepper@redhat.com> + + * iconvdata/Makefile: Add rules to build and distribute IBM1160 and + IBM1161. + * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. + * iconvdata/ibm1160.c: New file. + * iconvdata/ibm1160.h: New file. + * iconvdata/ibm1161.c: New file. + * iconvdata/ibm1161.h: New file. + Patch by Masahide Washizawa <WASHI@jp.ibm.com>. + +2001-09-19 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the + difference between base address and first PT_LOAD's virtual address, + not the base address. + +2001-09-11 Tom Rix <trix@redhat.com> + + * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG + ifdef for __getopt_clean_environment. + * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. + +2001-09-22 Andreas Jaeger <aj@suse.de> + + * elf/reldep4.c (main): Add proper prototype to fix warning. + + * elf/reldep5.c (main): Remove unused variable. + + * math/math_private.h: Add prototypes. + +2001-09-21 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/Dist: New file. + * sysdeps/x86_64/Dist: New file. + * sysdeps/x86_64/soft-fp/Dist: New file. + + * sysdeps/gnu/Dist: Remove eval.c. + +2001-09-20 Ulrich Drepper <drepper@redhat.com> + + * malloc/memusage.c (realloc): Don't count already allocated + memory in the sums. + (me): Always use dlsym() to find the real implementations. + + * malloc/memusage.sh: Make -n option actually do something. + +2001-09-20 Andreas Jaeger <aj@suse.de> + + * elf/elf.h (R_390_NUM): Correct value. + + * Versions.def: Add missing versions 2.2.3 for libthread_db and + libpthread. + + * sysdeps/unix/sysv/linux/configure.in: Add minimal kernel version + for x86-64, install x86-64 into */lib64. + + * shlib-versions: Add x86-64. + + * elf/elf.h: Add x86-64 relocations. + +2001-09-19 Ulrich Drepper <drepper@redhat.com> + + * po/fr.po: Update from translation team. + +2001-09-19 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/x86_64/Makefile: New file. + * sysdeps/unix/sysv/linux/x86_64/Versions: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/time.h: New file. + * sysdeps/unix/sysv/linux/x86_64/bits/types.h: New file. + * sysdeps/unix/sysv/linux/x86_64/brk.c: New file. + * sysdeps/unix/sysv/linux/x86_64/clone.S: New file. + * sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/fxstat.c: New file. + * sysdeps/unix/sysv/linux/x86_64/fxstat64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/getdents.c: New file. + * sysdeps/unix/sysv/linux/x86_64/getdents64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/gettimeofday.c: New file. + * sysdeps/unix/sysv/linux/x86_64/glob64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/lxstat.c: New file. + * sysdeps/unix/sysv/linux/x86_64/lxstat64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/mmap64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/pread64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/profil-counter.h: New file. + * sysdeps/unix/sysv/linux/x86_64/pwrite64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: New file. + * sysdeps/unix/sysv/linux/x86_64/readdir_r.c: New file. + * sysdeps/unix/sysv/linux/x86_64/recv.c: New file. + * sysdeps/unix/sysv/linux/x86_64/register-dump.h: New file. + * sysdeps/unix/sysv/linux/x86_64/send.c: New file. + * sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigaction.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sigpending.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sigsuspend.c: New file. + * sysdeps/unix/sysv/linux/x86_64/statfs64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/perm.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/ucontext.h: New file. + * sysdeps/unix/sysv/linux/x86_64/sys/user.h: New file. + * sysdeps/unix/sysv/linux/x86_64/syscall.S: New file. + * sysdeps/unix/sysv/linux/x86_64/syscalls.list: New file. + * sysdeps/unix/sysv/linux/x86_64/sysdep.S: New file. + * sysdeps/unix/sysv/linux/x86_64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/x86_64/time.c: New file. + * sysdeps/unix/sysv/linux/x86_64/truncate64.c: New file. + * sysdeps/unix/sysv/linux/x86_64/umount.c: New file. + * sysdeps/unix/sysv/linux/x86_64/vfork.S: New file. + * sysdeps/unix/sysv/linux/x86_64/xstat.c: New file. + * sysdeps/unix/sysv/linux/x86_64/xstat64.c: New file. + * sysdeps/unix/x86_64/sysdep.S: New file. + * sysdeps/unix/x86_64/sysdep.h: New file. + * sysdeps/x86_64/Implies: New file. + * sysdeps/x86_64/Makefile: New file. + * sysdeps/x86_64/Versions: New file. + * sysdeps/x86_64/__longjmp.S: New file. + * sysdeps/x86_64/abort-instr.h: New file. + * sysdeps/x86_64/atomicity.h: New file. + * sysdeps/x86_64/bits/endian.h: New file. + * sysdeps/x86_64/bits/setjmp.h: New file. + * sysdeps/x86_64/bits/string.h: New file. + * sysdeps/x86_64/bp-asm.h: New file. + * sysdeps/x86_64/bsd-_setjmp.S: New file. + * sysdeps/x86_64/bsd-setjmp.S: New file. + * sysdeps/x86_64/dl-machine.h: New file. + * sysdeps/x86_64/elf/initfini.c: New file. + * sysdeps/x86_64/elf/start.S: New file. + * sysdeps/x86_64/ffs.c: New file. + * sysdeps/x86_64/ffsll.c: New file. + * sysdeps/x86_64/fpu/bits/fenv.h: New file. + * sysdeps/x86_64/fpu/bits/mathdef.h: New file. + * sysdeps/x86_64/fpu/e_acosl.c: New file. + * sysdeps/x86_64/fpu/e_atan2l.c: New file. + * sysdeps/x86_64/fpu/e_exp2l.S: New file. + * sysdeps/x86_64/fpu/e_expl.c: New file. + * sysdeps/x86_64/fpu/e_fmodl.S: New file. + * sysdeps/x86_64/fpu/e_log10l.S: New file. + * sysdeps/x86_64/fpu/e_log2l.S: New file. + * sysdeps/x86_64/fpu/e_logl.S: New file. + * sysdeps/x86_64/fpu/e_powl.S: New file. + * sysdeps/x86_64/fpu/e_rem_pio2l.c: New file. + * sysdeps/x86_64/fpu/e_scalbl.S: New file. + * sysdeps/x86_64/fpu/e_sqrtl.c: New file. + * sysdeps/x86_64/fpu/fclrexcpt.c: New file. + * sysdeps/x86_64/fpu/fedisblxcpt.c: New file. + * sysdeps/x86_64/fpu/feenablxcpt.c: New file. + * sysdeps/x86_64/fpu/fegetenv.c: New file. + * sysdeps/x86_64/fpu/fegetexcept.c: New file. + * sysdeps/x86_64/fpu/fegetround.c: New file. + * sysdeps/x86_64/fpu/feholdexcpt.c: New file. + * sysdeps/x86_64/fpu/fesetenv.c: New file. + * sysdeps/x86_64/fpu/fesetround.c: New file. + * sysdeps/x86_64/fpu/fgetexcptflg.c: New file. + * sysdeps/x86_64/fpu/fraiseexcpt.c: New file. + * sysdeps/x86_64/fpu/fsetexcptflg.c: New file. + * sysdeps/x86_64/fpu/ftestexcept.c: New file. + * sysdeps/x86_64/fpu/libm-test-ulps: New file. + * sysdeps/x86_64/fpu/math_ldbl.h: New file. + * sysdeps/x86_64/fpu/printf_fphex.c: New file. + * sysdeps/x86_64/fpu/s_atanl.c: New file. + * sysdeps/x86_64/fpu/s_cosl.S: New file. + * sysdeps/x86_64/fpu/s_expm1l.S: New file. + * sysdeps/x86_64/fpu/s_fpclassifyl.c: New file. + * sysdeps/x86_64/fpu/s_isinfl.c: New file. + * sysdeps/x86_64/fpu/s_isnanl.c: New file. + * sysdeps/x86_64/fpu/s_log1pl.S: New file. + * sysdeps/x86_64/fpu/s_logbl.c: New file. + * sysdeps/x86_64/fpu/s_nextafterl.c: New file. + * sysdeps/x86_64/fpu/s_nexttoward.c: New file. + * sysdeps/x86_64/fpu/s_nexttowardf.c: New file. + * sysdeps/x86_64/fpu/s_rintl.c: New file. + * sysdeps/x86_64/fpu/s_significandl.c: New file. + * sysdeps/x86_64/fpu/s_sincosl.S: New file. + * sysdeps/x86_64/fpu/s_sinl.S: New file. + * sysdeps/x86_64/fpu/s_tanl.S: New file. + * sysdeps/x86_64/gmp-mparam.h: New file. + * sysdeps/x86_64/hp-timing.c: New file. + * sysdeps/x86_64/hp-timing.h: New file. + * sysdeps/x86_64/htonl.S: New file. + * sysdeps/x86_64/memusage.h: New file. + * sysdeps/x86_64/setjmp.S: New file. + * sysdeps/x86_64/soft-fp/sfp-machine.h: New file. + * sysdeps/x86_64/stackinfo.h: New file. + * sysdeps/x86_64/sysdep.h: New file. + * sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed: New file. + + * sysdeps/ieee754/ldbl-128/s_erfl.c: New file, contributed Stephen + L Moshier. + +2001-09-18 Ulrich Drepper <drepper@redhat.com> + + * malloc/malloc.c (ptmalloc_init): Handle _environ==NULL. + Reported by B. D. Elliott <bde@nwlink.com> [PR libc/2541]. + +2001-09-18 Andreas Schwab <schwab@suse.de> + + * elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope + list, now that l_scope is a pointer. + + * elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the + scope list. + +2001-09-18 kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition. + (elf_machine_rela_relative): Add a missing declaration. + +2001-09-18 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New file. + * sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390 + ldd-rewrite scripts. + +2001-09-18 Ulrich Drepper <drepper@redhat.com> + + * elf/ldd.bash.in: Update copyright message. + +2001-09-17 H.J. Lu <hjl@gnu.org> + + * hurd/hurdmalloc.c (bcopy): Removed. + (realloc): Replace bcopy with memcpy. + * hurd/path-lookup.c (file_name_path_scan): Likewise. + * resolv/gethnamaddr.c (map_v4v6_address): Likewise. + * sunrpc/rpcinfo.c (pmapdump): Likewise. + + * resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove. + (gethostbyaddr): Likewise. + * sunrpc/rpcinfo.c (get_inet_address): Likewise. + +2001-09-18 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/gnu/eval.c: Removed. + +2001-09-18 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/fpu/s_logbl.S: Move to ... + * sysdeps/i386/fpu/s_logbl.c: ...here, use inline assembler. + + * sysdeps/i386/fpu/s_rintl.S: Move to ... + * sysdeps/i386/fpu/s_rintl.c: ...here, use inline assembler. + + * sysdeps/i386/fpu/s_significandl.S: Move to ... + * sysdeps/i386/fpu/s_significandl.c: ...here, use inline assembler. + +2001-09-16 Ulrich Drepper <drepper@redhat.com> + + * string/strcoll.c [USE_IN_EXTENDED_LOCALE_MODEL]: Correctly get + nrules value. + +2001-09-14 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/fpu/libm-test-ulps: Updated. + +2001-09-14 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix a typo. + Patch by Florian La Roche <laroche@redhat.com>. + + * string/bits/string2.h (__strtok_r_1c): Optimize a bit. + + * sysdeps/unix/sysv/linux/net/ethernet.h: Correct references to + ETHER_CRC_LEN. + +2001-09-14 Andreas Schwab <schwab@suse.de> + + * posix/execl.c: Fix last argument of memcpy. Reported by Brian + Sumner <bls@sgi.com>. + * posix/execlp.c: Likewise. + +2001-09-13 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-deps.c (_dl_map_object_deps): Fix filter handling if filter + is already found earlier in the search scope. + +2001-09-12 Jakub Jelinek <jakub@redhat.com> + + * rt/Makefile (LDFLAGS-rt.so): Use shared thread library as librt's + filter. + +2001-09-13 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/powerpc/fpu/libm-test-ulps: Adjust expected errors for j0. + +2001-09-12 Ulrich Drepper <drepper@redhat.com> + + * config.h.in: Enforce optimization to be used. + * Makeconfig (preprocess-versions): Define ASSEMBLER. + * stdlib/Makefile (isomac-CFLAGS): Define to -O. + * posix/Makefile (annexc-CFLAGS): Define to -O. + * sysdeps/unix/make-syscalls.sh: Define __OPTIMIZE__ in use of asm_CPP. + +2001-09-11 Ulrich Drepper <drepper@redhat.com> + + * nscd/nscd_gethst_r.c: Don't expect IPv6 addresses for IPv4 lookup. + Patch by Stephan Kulow. + +2001-09-08 Ben Collins <bcollins@debian.org> + + * sysdeps/arm/dl-machine.h (elf_machine_rel): Fix thinko in + usage of RESOLVE() (r_type, not reloc->r_type). + +2001-09-08 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-object.c: Avoid allocating extra memory block for name. + * elf/dl-close.c (_dl_close): Don't free l_libname if it is not + allocated separately. + * elf/dl-load.c (_dl_map_object_from_fd): Likewise. + +2001-09-08 H.J. Lu <hjl@gnu.org> + + * po/zh_TW.po: Fix a typo. + +2001-09-07 Tom Rix <trix@redhat.com> + + * sysdeps/unix/sysv/aix/sysv_termio.h: New file. + +2001-08-26 Tom Rix <trix@redhat.com> + + * sysdeps/unix/sysv/aix/Makefile (aix-syscalls.o): More linker + command line options. + * sysdeps/unix/sysv/aix/start.s: New file, rework of start.c + * sysdeps/unix/sysv/aix/start.c: Removed. + * sysdeps/unix/sysv/aix/start-libc.c: New file. + * sysdeps/unix/sysv/aix/init-first.c: New file. + * sysdeps/unix/sysv/aix/fcntl.c: Alias __libc_fcntl to __fcntl. + +2001-09-08 Ben Collins <bcollins@debian.org> + + * sysdeps/arm/dl-machine.h: Fix usage of new _dl_signal_error() format. + * sysdeps/generic/dl-machine.h: Likewise. + * sysdeps/hppa/dl-fptr.c: Likewise. + * sysdeps/ia64/dl-fptr.c: Likewise. + * sysdeps/mach/hurd/dl-sysdep.c: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/mips/mips64/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.c: Likewise. + +2001-09-07 Ben Collins <bcollins@debian.org> + + * sysdeps/sparc/sparc32/dl-machine.h: Fix typo. + + * sysdeps/hppa/dl-lookupcfg.h: Forward declare struct link_map. + +2001-09-08 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-lookup.c (add_dependency): Bump l_opencount of all + dependencies if necessary. + + * elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't + loaded directly) determine length if l_initfini list by iterating + over its elements. Minor optimizations. + * elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini + for dependency objects. + If object was already loaded check whether any of the dependencies + is already on the relocation dependency list. If yes, remove the + latter. Minor optimizations. + * elf/dl-lookup.c (add_dependency): Add check for self reference of + maps here. Search l_initfini list only if the object was loaded + directly and not only as a dependency. + (_dl_lookup_symbol): Add relocation dependency also if object + is not in global scope. Remove test for self-reference here. + (_dl_lookup_versioned_symbol): Likewise. + * elf/dl-object (_dl_new_object): Cleanup. Initialize dont_free + element of first name record. + * elf/loadtest.c: Add some more test to recognize early if an object + wasn't unloaded. + * elf/Makefile: Add rules to build and run reldep5. + * elf/reldep5.c: New file. + * elf/reldepmod5.c: New file. + * elf/reldepmod6.c: New file. + + * elf/reldep2.c: Fix typo. + +2001-09-07 Ulrich Drepper <drepper@redhat.com> + + * include/link.h (struct link_map): Add l_scope_mem and l_scope_max + elements. Change l_scope to be a pointer only. + * elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max. + * elf/dl-open.c (dl_open_worker): If dependency wasn't just opened + here add searchlist of newly open file to the dependency's scope. + * elf/dl-close.c (_dl_close): If dependency is used otherwise remove + only searchlist from its scope. Free own scope array if necessary. + * elf/Makefile (tests): Add dblload and dblunload now. + +2001-09-06 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: New file, contributed + Stephen L Moshier. + +2001-09-05 Ulrich Drepper <drepper@redhat.com> + + * elf/Makefile: Add rules to build new tests. Don't run them yet since + they both fail. + * elf/dblload.c: New file. + * elf/dblloadmod1.c: New file. + * elf/dblloadmod2.c: New file. + * elf/dblloadmod3.c: New file. + * elf/dblunload.c: New file. + +2001-09-04 Richard Henderson <rth@redhat.com> + + * elf/elf.h (R_ALPHA_OP_*, R_ALPHA_IMMED_*): Remove. + (R_ALPHA_GPREL16): Rename from R_ALPHA_IMMED_GP_16. + +2001-09-04 Ulrich Drepper <drepper@redhat.com> + + Correct very misleading message for error in failed runtime relocation. + * elf/dl-error.c (_dl_signal_error): Take extra parameter to describe + place of the error. + (_dl_signal_cerror): Likewise. + * sysdeps/generic/ldsodefs.h: Adjust prototypes. + * elf/dl-close.c: Likewise. + * elf/dl-deps.c: Likewise. + * elf/dl-load.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/dl-reloc.c: Likewise. + * elf/dl-sym.c: Likewise. + * elf/dl-version.c: Likewise. + * sysdeps/generic/dl-sysdep.c: Likewise. + +2001-09-04 Jakub Jelinek <jakub@redhat.com> + + * iconv/strtab.c (strtabinit): Initialize null Strent. + (newstring): Move len == 0 handling... + (strtabadd): ...here. + If len == 1, return null Strent. + When inserting a suffix of an existing string, check if + it is not equal to some suffix already recorded. + Copy left and right members over if adding longer string. + +2001-09-04 Jakub Jelinek <jakub@redhat.com> + + * sunrpc/rpc_cout.c (upcase): Account for trailing '\0'. + + * sysdeps/unix/sysv/linux/alpha/gethostname.c: Include <errno.h>. + (__syscall_gethostname): Add prototype. + +2001-09-04 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-object.c (_dl_new_object): Remove unnecessary if. + +2001-09-02 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (dl_main): Increment l_opencount for main binary. + +2001-08-27 Roland McGrath <roland@frob.com> + + * sysdeps/unix/sysv/gethostname.c (__gethostname): When LEN is too + short, copy that much into NAME anyway before returning error. + +2001-09-01 Richard Henderson <rth@redhat.com> + + * sysdeps/alpha/elf/Dist: Remove file. + * sysdeps/alpha/elf/Makefile: Remove file. + * sysdeps/alpha/elf/crtbegin.S: Remove file. + * sysdeps/alpha/elf/crtend.S: Remove file. + * sysdeps/alpha/elf/initfini.c: New file. + +2001-09-01 Mark Kettenis <kettenis@gnu.org> + + * iconv/tst-iconv1.c: Include <stddef.h> for wchar_t. + * iconv/tst-iconv3.c: Likewise. + +2001-09-01 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++. + +2001-09-01 Ulrich Drepper <drepper@redhat.com> + + * iconv/gconv_cache.c: Rename variable cache to __gconv_cache and + export it. + * iconv/Versions (libc) [GLIBC_2.2.5]: Export __gconv_cache. + * iconv/iconv_prog.c (insert_cache): New function. + (print_known_names): If cache is used call insert_cache to use the + information from the cache [PR libc/2509]. + +2001-08-31 Ulrich Drepper <drepper@redhat.com> + + * time/strptime.c (strptime_internal): Recognize 'l' format and + handle it like 'I' for symmetry with strftime. + +2001-08-31 Richard Henderson <rth@redhat.com> + + * elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL. + (HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present. + * elf/rtld.c (HP_TIMING_AVAIL): Likewise. + (print_statistics): Make scalar unsigned long long. + * sysdeps/alpha/hp-timing.h: New file. + +2001-08-31 Jakub Jelinek <jakub@redhat.com> + + * stdio-common/perror.c (perror): Save errno early, pass it + down to perror_internal. + (perror_internal): Add errnum argument. + +2001-08-31 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code. + Don't add old memory content for R_ALPHA_REFQUAD. + +2001-08-30 Ulrich Drepper <drepper@redhat.com> + + * crypt/md5-crypt.c (__md5_crypt_r): Compute used and required + memory correctly. + + * sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Use __open + instead of open, __close instead of close, __getpagesize instead + of getpagesize. + + * string/argz-stringify.c (__argz_stringify): Use __strnlen + instead of strnlen. + * include/string.h (strndupa): Redefine here to use __strnlen + instead of strnlen. + * string/strndup.c (__strndup): Use __strnlen not strnlen. + + * misc/syslog.c (vsyslog): Fix typo in last change (connect -> + connected). + +2001-08-30 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/alpha/dl-machine.h (elf_machine_rela): Don't handle + R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only check + for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined. + * sysdeps/i386/dl-machine.h (elf_machine_rel): Similarly. + * sysdeps/ia64/dl-machine.h (elf_machine_rel): Similarly. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rel): Similarly. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rel): Similarly. + +2001-08-30 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/alpha/fpu/libm-test-ulps: Adjust j0 ULPs. + +2001-08-30 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/ldbl-128/e_jnl.c: New file, + contributed Stephen L Moshier. + +2001-08-30 Jakub Jelinek <jakub@redhat.com> + + * sunrpc/etc.rpc (sgi_fam): Add. + +2001-08-30 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/alpha/gethostname.c: New file. + +2001-08-29 Ulrich Drepper <drepper@redhat.com> + + * nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received + first is from a previous call. + Patch by Alexander Belopolsky <alexb@rentec.com> for [PR libc/3670]. + +2001-08-29 Andreas Schwab <schwab@suse.de> + + * sysdeps/ia64/fpu/libm-test-ulps: Updated. + +2001-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * config.make.in (INSTALL_SCRIPT): Define. + * Makeconfig (INSTALL_SCRIPT): Define. + * Makerules (do-install-script): New macro to install scripts using + INSTALL_SCRIPT. + (install-bin-script): New rule to install scripts with + do-install-script. + (install-bin-script-nosubdir): New rule. + (install-no-libc.a-nosubdir): Add install-bin-script-nosubdir. + (distinfo-vars): Add $(install-bin-script). + * Rules (others): Likewise. + * Makefile (glibcbug): Install with install-bin-script. + * debug/Makefile (xtrace): Likewise. + (catchsegv): Likewise. + * elf/Makefile (ldd): Likewise. + * malloc/Makefile (mtrace): Likewise. + * timezone/Makefile (tzselect): Likewise. + +2001-08-29 H.J. Lu <hjl@gnu.org> + + * sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass + ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to + _dl_lookup_versioned_symbol () and _dl_lookup_symbol (). + +2001-08-29 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/fpu/libm-test-ulps: Updated. + +2001-08-28 H.J. Lu <hjl@gnu.org> + + * Makeconfig (combreloc-LDFLAGS): New variable. + Add it to LDFLAGS.so, LDFLAGS-rtld, and +link. + * config.make.in (have-z-combreloc): New variable. + * configure.in: Substitute libc_cv_z_combreloc. + +2001-08-29 Ulrich Drepper <drepper@redhat.com> + + * po/sv.po: Update from translation team. + * po/fr.po: Likewise. + * po/da.po: Likewise. + +2001-08-28 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * Makerules: Fix a typo: MD% -> MD5. + +2001-08-28 Ulrich Drepper <drepper@redhat.com> + + * sunrpc/rpc_hout.c (pargdef): Function must take pointer to object. + Patch by Patrick Duval <Patrick.Duval@devinci.fr>. + +2001-08-28 Andreas Jaeger <aj@suse.de> + + * manual/libc-texinfo.sh: Add entry about free manuals. + + * manual/contrib.texi (Contributors): Fix cross reference. + + * manual/libc.texinfo (Copying): Include freemanuals. + + * manual/Makefile (appendices): Add freemanuals. + + * manual/freemanuals.texi: New file. + Patch by Brian Youmans <3diff@gnu.org>. + + * manual/libm-err-tab.pl: Pretty print more platforms, print a + smaller table. + + * manual/math.texi (Errors in Math Functions): Fix grammar, start + table on separate page. + Patch by Brian Youmans <3diff@gnu.org>. + +2001-08-27 Ulrich Drepper <drepper@redhat.com> + + * misc/syslog.c (vsyslog): Try a bit harder to use syslogd. If + the connection went down after we first used it try to connect + again and resend the message before printing to the console. + Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>. + +2001-08-27 Jakub Jelinek <jakub@redhat.com> + + * string/tst-strlen.c (main): Test strnlen (, -1) too. + * sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top + bit set. + +2001-08-27 Ulrich Drepper <drepper@redhat.com> + + * iconv/strtab.c (searchstring): Use correct length for comparison. + (strtabadd): Account total size correct if new string has old string as + substring. + +2001-08-27 Jakub Jelinek <jakub@redhat.com> + + * elf/rtld.c (dl_main): Update call to _dl_lookup_symbol. + +2001-08-27 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests. + + * math/libm-test.inc (j0_test): Add extra tests. + * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|, + not x, in Hankel approximation. + Patches by Stephen L Moshier. + +2001-08-26 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/ia64/dl-lookupcfg.h: Add forward declaration for struct + link_map. + + * configure.in: Fix test for .rela.dyn section. + + * elf/dl-runtime.c: Update calls to _dl_lookup_*. + +2001-08-26 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-reloc.c (RESOLVE_MAP, RESOLVE): Use elf_machine_type_class + instead of elf_machine_lookup_noexec_p and elf_machine_lookup_noplt_p. + Pass type_class to _dl_lookup_*. + * elf/dl-lookup.c (_dl_lookup_symbol): Take type_class parameter now. + Pass around just type_class instead of noexec, noplt pair. + (_dl_lookup_versioned_symbol): Likewise. + (_dl_lookup_symbol_skip): Pass around just type_class instead of + noexec, noplt pair. + (_dl_lookup_versioned_symbol_skip): Likewise. + (_dl_do_lookup, _dl_do_lookup_versioned): Likewise. + * elf/do-lookup.h (do_lookup): Likewise. + * include/link.h (struct link_map): Replace noexec and noplt fields + in l_lookup_cache with type_class field. + * sysdeps/generic/ldsodefs.h (ELF_RTYPE_CLASS_PLT, + ELF_RTYPE_CLASS_COPY): Define. + Adjust prototypes for _dl_lookup_symbol and + _dl_lookup_versioned_symbol. + * sysdeps/alpha/dl-machine.h (elf_machine_lookup_noplt_p, + elf_machine_lookup_noexec_p): Remove. + (elf_machine_type_class): Define. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/mips/mips64/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + +2001-08-26 Ulrich Drepper <drepper@redhat.com> + + * manual/message.texi (Advanced gettext functions): Change + description of plural forms for Slovak. + Reported by Marcel Telka <marcel@telka.sk>. + + * manuaL/time.texi (Low-Level Time String Parsing): Fix description of + %z. Reported by C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>. + +2001-08-26 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_lazy_rel): Fix a + typo. Patch by Florian La Roche <laroche@redhat.com>. + +2001-08-26 Ulrich Drepper <drepper@redhat.com> + + * include/link.h (struct link_map): Add l_lookup_cache element. + * elf/dl-reloc.c (RESOLVE): Add symbol caching here. + (RESOLVE_MAP): Likewise. + (_dl_relocate_object): Remove cache initialization. + * elf/dl-lookup.c: Rip out cache handling code. + * sysdeps/generic/ldsodefs.h: Remove lookup_cache struct and variable + declarations. + + * elf/dl-lookup.c (_dl_lookup_symbol): Reorder some conditions and + remove some __builtin_expect. + (_dl_lookup_versioned_symbol): Likewise. + + * config.h.in: Add HAVE_Z_COMBRELOC. + * configure.in: Add test for -z combreloc. + + * sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and + optimizations. Use HAVE_Z_COMBRELOC to avoid generaton of + R_386_RELATIVE handling for ld.so startup. Reduce RTLD_BOOTSTRAP + case to almost no code. + +2001-08-25 Ulrich Drepper <drepper@redhat.com> + + * po/tr.po: Update from translation team. + +2001-08-24 Andreas Jaeger <aj@suse.de> + + * iconv/Makefile (extra-objs): Add iconvconfig-modules so that + make clean works. + +2001-08-24 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (print_statistics): Printf % after percent values. + * elf/dl-misc.c (_dl_debug_vdprintf): Implement %%. + + * elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we + don't have to compute the hash value and initialize current_value. + Move reference_name variable to where it is needed. + (_dl_lookup_versioned_symbol): Likewise. + +2001-08-24 Roland McGrath <roland@frob.com> + + * string/tester.c (test_strerror): Don't use _sys_errlist/_sys_nerr. + Just test that strerror returns non-null for a few errno codes. + +2001-08-23 Roland McGrath <roland@frob.com> + + * hurd/Versions (libc: GLIBC_2.2.5): New set; add _hurd_raise_signal, + _hurdsig_interrupt_timeout, _hurdsig_fault_preemptor. + + * sysdeps/posix/shm_unlink.c (shm_unlink): __unlink -> unlink. + + * mach/Versions (libc: GLIBC_2.2.5): New set; add __mach_msg_destroy, + __mach_reply_port. + +2001-08-24 Ulrich Drepper <drepper@redhat.com> + + * nss/test-netdb.c (test_hosts): Don't segfault if gethostname + returns NULL. + + * elf/do-rel.h (elf_dynamic_do_rel): Fix problem with ld.so + startup. Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc + doesn't do it. + * elf/rtld.c: Include <sys/param.h>. + * elf/dl-reloc.c: Likewise. + +2001-08-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl> + + * sysdeps/unix/sysv/linux/mips/configure.in: Define AC_SUBST to + empty to prevent junk from being generated. + * sysdeps/unix/sysv/linux/mips/configure: Regenerated. + +2001-08-24 Jakub Jelinek <jakub@redhat.com> + + * elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative + records. Rename endrel to relative, initialize it to r, and use it + in elf_machine_rel_relative calls. Point r after relative relocs. + +2001-08-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/i386/dl-machine.h (elf_machine_rel): Correct prediction + of R_386_NONE. + +2001-08-24 Jakub Jelinek <jakub@redhat.com> + + * elf/do-rel.h (elf_machine_rel_relative): Define for rela if + necessary. Undefine newly defined macros at the end. + * sysdeps/hppa/dl-machine.h (elf_machine_rela_relative): + Rename from elf_machine_rel_relative. + * sysdeps/cris/dl-machine.h (elf_machine_rela_relative): Likewise. + * sysdeps/m68k/dl-machine.h (elf_machine_rela_relative): Likewise. + * sysdeps/powerpc/dl-machine.h (elf_machine_rela_relative): Likewise. + * sysdeps/s390/s390-32/dl-machine.h (elf_machine_rela_relative): + Likewise. + * sysdeps/s390/s390-64/dl-machine.h (elf_machine_rela_relative): + Likewise. + * sysdeps/ia64/dl-machine.h (elf_machine_rela_relative): Likewise. + Fix argument types. + * sysdeps/alpha/dl-machine.h (elf_machine_rela_relative): Likewise. + Fix argument types. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela_relative): + Likewise. Fix argument types. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela_relative): + Likewise. Fix argument types. + * sysdeps/sh/dl-machine.h (elf_machine_rela_relative): Likewise. + Fix argument types. + * sysdeps/mips/dl-machine.h (elf_machine_rel_relative): Use + ElfW(Rel) in argument. + * sysdeps/mips/mips64/dl-machine.h (elf_machine_rel_relative): New + function. + +2001-08-24 Alexandre Oliva <aoliva@redhat.com> + + * sysdeps/sh/dl-machine.h (elf_machine_rela): Fix typo. + +2001-08-24 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/ldbl-128/e_j1l.c: New file, contributed by + Stephen L Moshier <moshier@mediaone.net>. + +2001-08-24 Ulrich Drepper <drepper@redhat.com> + + * elf/do-rel.h (elf_dynamic_do_rel): RELATIVE relocations comes + first if RELCOUNT is set. + + * elf/do-rel.h (elf_dynamic_do_rel): If not relocating lazily, don't + call elf_machine_rel for the last DT_RELCOUNT relocations but instead + elf_machine_rel_relative. + * sysdeps/alpha/dl-machine.h: Define elf_machine_rel_relative. + Minor optimizations. + * sysdeps/arm/dl-machine.h: Likewise. + * sysdeps/cris/dl-machine.h: Likewise. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/i386/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.h: Likewise. + * sysdeps/powerpc/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + +2001-08-23 Roland McGrath <roland@frob.com> + + * rt/tst-aio4.c [! SIGRTMIN] (SIGRTMIN, SIGRTMAX): Define as -1. + + * sysdeps/mach/hurd/bits/libc-lock.h: New file, initially copied from + sysdeps/mach version. Implement counting ("recursive") mutexes + on top of cthreads mutexes. + * sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works. + + * sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to + _LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error. + (__libc_cleanup_region_start, __libc_cleanup_region_end, + __libc_clean_end): Define these to call the cleanup function after + normal exit when they're supposed to. + + * sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start): + Take new first arg DOIT, a boolean saying whether to really install + any cleanup handler. + (__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero. + (__libc_cleanup_end): Likewise. + * sysdeps/generic/bits/libc-lock.h: Same changes. + * stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg. + * stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise. + * sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start): + Likewise. + * misc/syslog.c (vsyslog, openlog, closelog): Likewise. + * sysdeps/generic/bits/stdio-lock.h + (_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise. + +2001-08-23 Jakub Jelinek <jakub@redhat.com> + + * elf/ldconfig.c (search_dir): Remove stale symlinks. + +2001-08-23 Jakub Jelinek <jakub@redhat.com> + + * elf/dl-lookup.c (lookup_cache, lookup_cache_versioned): New + functions. + (_dl_lookup_symbol): Lookup relocations in cache and store successfull + lookups in cache. + (_dl_lookup_versioned_symbol): Likewise. + * elf/dl-reloc.c (_dl_relocate_object): Initialize cache for + relocation lookup. + * elf/rtld.c (print_statistics): Output _dl_num_cache_relocations. + * sysdeps/generic/ldsodefs.h (struct lookup_cache): New definition. + (lookup_cache, lookup_cache_versioned): Add declarations. + +2001-08-23 Ulrich Drepper <drepper@redhat.com> + + * stdlib/tst-random.c (main): Swap parameters in fail call. + Patch by Pete Bevin <pete@petebevin.com>. + +2001-08-23 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/inttypes.h: Use __gwchar_t instead of __wchar_t. + +2001-08-23 Ulrich Drepper <drepper@redhat.com> + + * malloc/obstack.c: Indent preprocessor directives. + Patch by Jim Meyering <meyering@ascend.com>. + + * po/ja.po: Update from translation team. + +2001-08-23 Roland McGrath <roland@frob.com> + + * libio/tst-ungetwc1.c (main): Add a const to quiet a warning. + + * nss/test-netdb.c (test_hosts): Don't use MAXHOSTNAMELEN. + Instead, use dynamic buffer to test gethostname's ENAMETOOLONG error. + +2001-08-22 Roland McGrath <roland@frob.com> + + * sysdeps/generic/ldsodefs.h (_dl_load_lock): Declare it here with + __libc_lock_define_recursive. + * elf/dl-open.c: Don't declare it here any more. + * elf/dl-close.c: Likewise. + * elf/dl-lookup.c: Likewise. + * elf/dl-iteratephdr.c: Likewise. + * elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and + __libc_lock_unlock_recursive. + * elf/dl-close.c (_dl_close): Likewise + * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise + * elf/dl-open.c (_dl_open): Likewise + + * sysdeps/generic/bits/libc-lock.h + (__libc_lock_define_recursive): New macro. + * sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it. + (_IO_lock_lock): Use __libc_lock_lock_recursive. + (_IO_lock_unlock): Use __libc_lock_unlock_recursive. + + * conform/conformtest.pl (checknamespace): Sort the output list. + + * sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT. + (POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these + definitions conditional on [__USE_XOPEN]. + + * sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define + these unconditionally, not only use [__USE_BSD], so as to match + the sysdeps/unix/sysv/linux files. + +2001-08-22 Ulrich Drepper <drepper@redhat.com> + + * test-skeleton.c (add_temp_file): Add __attribute__ ((unused)) to + avoid warnings. + + * dlfcn/tst-dladdr.c (do_test): Get address of ref1 using + DL_LOOKUP_ADDRESS. + +2001-08-22 Roland McGrath <roland@frob.com> + + * sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up + conditionalization of sa_handler/sa_sigaction member types to + match the sysdeps/unix/sysv/linux file. + +2001-08-22 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-addr.c (_dl_addr): Handle broken binaries with zero + symbol sizes a bit better. + + * sysdeps/ia64/strncpy.S: Complete rewrite. + Contributed by Jakub Jelinek <jakub@redhat.com>. + + * string/stratcliff.c (main): Add strncpy test. + +2001-08-22 Roland McGrath <roland@frob.com> + + * sysdeps/generic/dl-environ.c: Include <stdlib.h> and <unistd.h>, + and don't declare unsetenv or _environ directly. + (unsetenv): Return int, not void. Use __environ instead of _environ. + +2001-08-01 Mark Kettenis <kettenis@gnu.org> + + * sysdeps/unix/bsd/bsd4.4/Makefile: New file. + * sysdeps/unix/bsd/bsd4.4/Versions: New file. + * sysdeps/unix/bsd/bsd4.4/cmsg_nxthdr.c: New file. + * sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Correct + test for cmsg struct size. + +2001-04-23 Paul Eggert <eggert@twinsun.com> + + * posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal): + Rename __argc to ___argc in prototypes to avoid compatibility + problems with systems that reserve the identifier "__argc". + Similarly for __argv. + +2001-08-21 Roland McGrath <roland@frob.com> + + * stdio-common/tst-fseek.c: Include <time.h> for `time' declaration. + + * mach/Makefile (tests): Removed. + * mach/hello.c: File removed. + +2001-08-22 Ulrich Drepper <drepper@redhat.com> + + * po/sv.po: Update from translation team. + + * stdio-common/vfscanf.c: Fix handling of %l[]. + Reported by Mitsuru Chinen <mchinen@yamato.ibm.com>. + + * libio/Makefile (tests): Add tst-sscanf. + * libio/tst-sscanf.c: New file. + + * elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname. + * malloc/mtrace.c (tr_where): dli_sname always points to a + non-empty string if != NULL. + Reported by Tim Janik <timj@gtk.org>. + +2001-08-22 Jakub Jelinek <jakub@redhat.com> + + * sunrpc/xdr_rec.c (xdrrec_create): Fix buf sizes before allocating + buf. Free resources on failure. + * sunrpc/svc_unix.c (svcunix_create): Free resources on failure. + (makefd_xprt): Likewise. + * sunrpc/svc_udp.c (svcudp_bufcreate): Likewise. + * sunrpc/svc_tcp.c (svctcp_create, makefd_xprt): Likewise. + * sunrpc/auth_unix.c (authunix_create): Likewise. + +2001-08-21 Jakub Jelinek <jakub@redhat.com> + + * string/strnlen.c: Remove. + * sysdeps/generic/strnlen.c: New file. + * sysdeps/i386/i486/bits/string.h (strnlen): Remove. + +2001-08-21 Roland McGrath <roland@frob.com> + + * sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Define this + as a macro, not an extern inline function. + + * hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here. + * Versions.def (libc): Add GLIBC_2.2.5 set. + * hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro. + (__hurd_fail): Use that instead of _EXTERN_INLINE in decl. + +2001-08-20 Roland McGrath <roland@frob.com> + + * hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "". + (__hurd_file_name_split, __hurd_directory_name_split): Likewise. + +2001-08-21 Ulrich Drepper <drepper@redhat.com> + + * string/bits/string2.h: Remove strnlen optimization here. + * sysdeps/i386/i486/bits/string.h: Add it here. + +2001-08-21 Wolfram Gloger <wg@malloc.de> + + * malloc/malloc.c: Make access to ..._hook pointers thread-safe. + +2001-08-21 Ulrich Drepper <drepper@redhat.com> + + * po/gl.po: Update from translation team. + +2001-08-20 Ulrich Drepper <drepper@redhat.com> + + * misc/error.c (error_tail): Use fputws_unlocked instead of fputws. + * misc/err.c (convert_and_print): Likewise. + + * malloc/obstack.c (print_and_abort): Use fprintf instead of two + function calls. + +2001-08-20 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Revert the + change of the gregset_t type. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. + +2001-08-20 kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/unix/sysv/linux/sh/sysdep.S: Align errno. + +2001-08-20 Ulrich Drepper <drepper@redhat.com> + + * posix/regex.c (truncate_wchar): Use wcrtomb not wctomb. + + * string/strnlen.c: Fix the implementation. We cannot use memchr. + +2001-08-18 Mark Kettenis <kettenis@gnu.org> + + * sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ + before calling the cthreads initialization code. + +2001-08-20 Ulrich Drepper <drepper@redhat.com> + + * argp/argp-help.c: Fix two problems introduced in last change. + + * include/dirent.h: Include <dirstream.h> first. + +2001-08-19 Ulrich Drepper <drepper@redhat.com> + + * io/fts.c (fts_safe_changedir): Use __fxstat64 instead of __fstat. + + * sunrpc/svcauth_des.c (_svcauth_des): Avoid using bcopy. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_mem.c: Likewise. + * sunrpc/svc_authux.c (_svcauth_unix): Likewise. + * sunrpc/rpc_cmsg.c: Likewise. + * sunrpc/getrpcport.c (getrpcport): Likewise. + * sunrpc/clnt_simp.c (callrpc): Likewise. + * sunrpc/clnt_gen.c (clnt_create): Likewise. + * string/envz.c: Likewise. + + * po/ko.po: Update from translation team. + + * argp/argp-help.c: Handle wide oriented stderr stream. + +2001-08-18 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/generic/strtol.c: Little optimizations. Add some + __builtin_expect. + + * conform/conformtest.pl: <inttypes.h> test requires <stddef.h>. + + * wcsmbs/wchar.h (wcwdith): Change parameter type to wchar_t. + * wcsmbs/wcwidth.c (wcwdith): Likewise. + * wcsmbs/wcwidth.h (internal_wcwdith): Likewise. + + * conform/data/unistd.h-data: Remove _SC_MULTIPLE_PROCESS. + + * conform/data/ucontext.h-data: Fix typos in ucontext_t element tests. + + * time/time.h (struct timespec): Use __time_t for tv_sec element. + + * sysdeps/generic/inttypes.h: Define __wchar_t. Use it instead of + wchar_t for function declarations and defintions. + + * misc/sys/select.h: Define __need_time_t before including <time.h>. + Define suseconds_t if it hasn't happened yet. + + * iconv/gconv.h: Define __need_wchar_t before including <stddef.h>. + + * conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined. + + * sysdeps/generic/stdint.h: Don't get definition of wchar_t from + <stddef.h>. + + * conform/data/stddef.h-data: Remove wint_t. + + * conform/conformtest.pl: Change namespace test to take #undef + lines into account. + + * conform/data/netinet/in.h-data: Fix typo in allow-header line. + + * conform/data/sys/socket.h-data: Add sockatmark. + +2001-08-17 Ulrich Drepper <drepper@redhat.com> + + * io/fts.c: Update from recent BSD source. + +2001-08-17 Roland McGrath <roland@frob.com> + + * stdio-common/perror.c (perror) [! USE_IN_LIBIO]: Don't use _IO_fwide. + * misc/error.c (error_tail, error, error_at_line) [! USE_IN_LIBIO]: + Likewise. + +2001-08-17 Ulrich Drepper <drepper@redhat.com> + + * locale/duplocale.c (__duplocale): Also initialize the special + __ctype_* elements. + + * conform/data/netdb.h-data: Adjust gai_strerror return type. + +2001-08-17 Andreas Jaeger <aj@suse.de> + + * misc/getpass.c: Include wchar.h for prototypes. + * malloc/obstack.c: Likewise. + +2001-08-17 Ulrich Drepper <drepper@redhat.com> + + * sunrpc/svc_simple.c (universal): Use __write instead of write. + + * wcsmbs/wcscoll.c: Also define __wcscoll. + * include/wchar.h: Declare __wcscoll. + + * libio/fwprintf.c: Use __vfwprintf instead of vfwprintf. + * libio/vwprintf.c: Likewise. + * libio/wprintf.c: Likewise. + + * iconv/gconv_cache.c: Use __munmap instead of munmap. + +2001-08-16 Ulrich Drepper <drepper@redhat.com> + + * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc + instead of mbrtowc. + [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of + wcslen, and __wcscoll instead of wcscoll. + + * sysdeps/unix/sockatmark.c (sockatmark): Use __ioctl instead of ioctl. + + * sysdeps/unix/sysv/linux/gai_sigqueue.c (__gai_sigqueue): Use + __getuid instead of getuid. + + * stdio-common/perror.c (perror): Use __close instead of close. + * iconv/gconv_cache.c (__gconv_load_cache): Likewise. + * libio/freopen.c (freopen): Likewise. + * libio/freopen64.c (freopen64): Likewise. + + * libio/tst-ungetwc2.c (main): Define str const. + + * include/wchar.h: Add prototypes for __fwprintf and __vfwprintf. + * libio/fwprintf.c: Also define __fwprintf. + * stdio-common/vfprintf.c [COMPILE_WPRINTF]: Also define __vfwprintf. + * argp/argp-fmtstream.c: Handle wide oriented stderr stream. + * assert/assert-perr.c: Likewise. + * assert/assert.c: Likewise. + * gmon/gmon.c: Likewise. + * inet/rcmd.c: Likewise. + * malloc/obstack.c: Likewise. + * misc/err.c: Likewise. + * misc/error.c: Likewise. + * misc/getpass.c: Likewise. + * posix/getopt.c: Likewise. + * resolv/res_hconf.c: Likewise. + * stdio-common/perror.c: Likewise. + * stdio-common/psignal.c: Likewise. + * stdlib/fmtmsg.c: Likewise. + * sunrpc/auth_unix.c: Likewise. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/clnt_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/svc_unix.c: Likewise. + * sunrpc/xdr.c: Likewise. + * sunrpc/xdr_array.c: Likewise. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_ref.c: Likewise. + * sysdeps/generic/wordexp.c: Likewise. + + * po/it.po: Update from translation team. + + * misc/err.c: Handle wide oriented stderr stream. + +2001-08-14 Tom Rix <trix@redhat.com> + + * iconv/gconv_cache.c (find_module): Add #ifndef STATIC_GCONV. + * iconv/Makefile: Fix gconv_cache.c CFLAGS. + +2001-08-13 Tom Rix <trix@redhat.com> + + * sysdeps/unix/sysv/aix/Makefile: Add rule to import kernel symbols. + * sysdeps/unix/sysv/aix/bits/types.h: Fix type of __id_t, __useconds_t + and __intptr_t. + +2001-08-15 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S (__getcontext): + Store the access registers to the ucontext structure. + * sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S (__getcontext): + Likewise. + + * sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S (__setcontext): + Load the access registers from the ucontext structure. + * sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S (__setcontext): + Likewise. + + * sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: Adjust the SC_xxx + offsets to the new ucontext layout. + * sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: Likewise. + + * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix the layout + of the ucontext structure. + * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise. + +2001-08-15 Ulrich Drepper <drepper@redhat.com> + + * misc/error.c (error): Handle wide oriented stderr stream correctly. + (error_at_line): Likewise. + + * stdio-common/perror.c (perror): Implement according to standard. + The stream orientation must not be changed if the stream was not + oriented before the call. + * stdio-common/Makefile (tests): Add tst-perror. + * stdio-common/tst-perror.c: New file. + + +See ChangeLog.12 for earlier changes. diff --git a/sysdeps/unix/sysv/linux/_exit.c b/sysdeps/unix/sysv/linux/_exit.c index a8126a61f1..7f96da60f8 100644 --- a/sysdeps/unix/sysv/linux/_exit.c +++ b/sysdeps/unix/sysv/linux/_exit.c @@ -22,6 +22,9 @@ #include <sysdep.h> #include <abort-instr.h> +extern void __syscall_exit_group (int status); +extern void __syscall_exit (int status); + void _exit (status) |