blob: 241861369efeeade2efb61a0908e4cbe1448cea0 [file] [log] [blame]
2002-10-03 Richard Henderson <>
* sysdeps/alpha/stxncpy.S: Don't access memory beyond the source
* sysdeps/alpha/alphaev6/stxncpy.S: Likewise.
2002-10-02 Andreas Jaeger <>
Guido Guenther <>
* sysdeps/mips/fpu/fraiseexcpt.c: Add internal definition.
* sysdeps/mips/fpu/fesetenv.c: Likewise.
2002-10-03 Jakub Jelinek <>
* 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 <>
* 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 <>
* 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 <>
Jakub Jelinek <>
* 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:
(__WORDSIZE_COMPAT32): Define.
* sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise.
* sysdeps/sparc/sparc32/bits/wordsize.h (__WORDSIZE_COMPAT32):
* sysdeps/sparc/sparc64/bits/wordsize.h (__WORDSIZE_COMPAT32):
* sysdeps/s390/bits/wordsize.h: Move to...
* sysdeps/s390/s390-32/bits/wordsize.h:
* 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 <>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Fix comment typo.
Temporarily enable R_ALPHA_NONE relocs in
* sysdeps/ia64/dl-machine.h (elf_machine_rela): Temporarily enable
R_IA64_NONE relocs in
2002-09-27 Steven Munroe <>
* 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]:
(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 <>
* 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]:
* sysdeps/unix/sysv/linux/lxstat.c (__lxstat) [STAT_IS_KERNEL_STAT]:
2002-10-02 Ulrich Drepper <>
* 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
* Make-dist (dist): Create .bz2 file. Add rule to create .bz2 files.
Also distribute xtests sources.
2002-10-02 Kaz Kojima <>
* elf/elf.h: Change TLS ELF relocation numbers.
* elf/tls-macros.h: Fix code sequences for SH TLS_LD and TLS_GD
* 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:
2002-10-01 Jakub Jelinek <>
* 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 <>
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
2002-02-08 Randolph Chung <>
* sysdeps/hppa/elf/start.S: Define __data_start.
2002-10-01 Isamu Hasegawa <>
* posix/regex_internal.c (re_string_reconstruct): Reset the member
* 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 <>
* (NO_HIDDEN): New #undef.
* include/libc-symbols.h [! NO_HIDDEN]: Add this condition to
nonempty definitions of hidden_proto et al.
* Grok --disable-hidden-plt to define NO_HIDDEN.
* configure: Regenerated.
* sysdeps/mach/hurd/ Always define NO_HIDDEN.
* sysdeps/mach/hurd/configure: Regenerated.
2002-09-19 David Mosberger <>
* sysdeps/ia64/dl-fptr.c (make_fdesc): Load address of "local" via
a 64-bit gp-relative address to enable binaries with large data
2002-09-30 Ulrich Drepper <>
* 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 <>
* 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 <>
* 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
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 <>
* stdio-common/printf_fp.c: Shuffle a few lines around to help the
compiler optimizing. No semantical changes intended.
2002-09-30 Jakub Jelinek <>
* sysdeps/ia64/strncpy.S: Only segfault in .recovery2 if some bits
from the next quad are needed.
2002-09-30 Roland McGrath <>
* 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/ 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
* 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 <>
* 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 <>
* posix/regexec.c (sift_states_bkref): Remove ret variable. Use
err instead.
2002-09-29 Roland McGrath <>
* 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 <>
* 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 <>
* 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 <>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_SETRESUID_SYSCALL): On the sparc, define to 1, not empty.
2002-09-29 Jakub Jelinek <>
* nss/bug-erange.c (main): Don't fail if /etc/resolv.conf doesn't
2002-09-29 Ulrich Drepper <>
* nss/Makefile: Move bug-erange from tests to xtests.
2002-09-29 Jakub Jelinek <>
* stdlib/longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
2002-09-29 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall0): Make asm
(inline_syscall1, inline_syscall2, inline_syscall3, inline_syscall4,
inline_syscall5, inline_syscall6): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (INLINE_SYSCALL):
2002-09-29 Roland McGrath <>
* (libc_cv_ranlib_necessary check): Put the .o file in
the archive, not the .c file.
* configure: Regenerated.
2002-09-29 Roland McGrath <>
* 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/ New file.
* sysdeps/x86_64/elf/configure: New generated file.
2002-09-28 Roland McGrath <>
* 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 <>
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add __syscall_exit
entry point.
2002-09-28 Jakub Jelinek <>
* 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 <>
* sysdeps/unix/nice.c (nice): Use getpriority() for the return value.
2002-09-28 Jeff Bailey <>
* sysdeps/unix/sysv/sysv4/solaris2/ Delete.
* sysdeps/unix/sysv/aix/ Update comment and remove
stdio=libio setting.
2002-09-28 Roland McGrath <>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_important_hwcaps): Use INTUSE for
* 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 <>
* include/libc-symbols.h (__hidden_dot_weak1): Fix typo. Replace
2002-09-28 Andreas Jaeger <>
* 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 <>.
2002-09-27 Roland McGrath <>
* 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 <>
* 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
(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 <>
* elf/do-rel.h: Define macro DO_ELF_MACHINE_REL_RELATIVE for
(elf_dynamic_do_rel): Call DO_ELF_MACHINE_REL_RELATIVE macro
instead of 'elf_machine_rel_relative'.
* sysdeps/hppa/dl-machine.h:
'elf_machine_rel_relative' with extra map parameter
required by HPPA.
(elf_machine_rela_relative): Add plt relocation changes.
2001-11-14 Matthew Wilcox <>
* 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 <>
* 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 <>
* sysdeps/x86_64/dl-machine.h (elf_machine_type_class): Remove
unneeded TLS cases.
2002-09-27 Jakub Jelinek <>
* 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 <>
* 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 <>
* 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
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_load_address): Use
the same l_addr computation.
* sysdeps/sparc/sparc64/ Removed.
* sysdeps/sparc/sparc64/configure: Removed.
2002-09-26 Ulrich Drepper <>
* 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 <>
* stdlib/longlong.h: Replaced with current version from GCC mainline,
last modified 2002-09-22 Kazu Hirata <>.
2002-09-25 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/mips/syscalls.list: Add syscall_exit.
Patch by Guido Guenther <>.
2002-09-25 Roland McGrath <>
* Makeconfig (%.v.i pattern rule): Use $(CPPFLAGS).
2002-09-24 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ Recognize nptl add-on name.
2002-09-24 Roland McGrath <>
* 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 <>
* po/zh_CN.po: New file.
2002-09-23 Roland McGrath <>
* 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 <>
* 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/ 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
* iconvdata/tst-e2big.c: New file.
* iconvdata/Makefile (tests): Add tst-e2big.
2002-09-23 Roland McGrath <>
* elf/Makefile (test-extras): Define this instead of test-srcs.
* Makerules (all-nonlib): Include $(test-extras) too.
2002-09-21 Carlos O'Donell <>
* sysdeps/hppa/abort-instr.h: New file.
2002-09-22 Roland McGrath <>
* 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 <>
* (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 <>
* 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 <>.
2002-09-20 Ulrich Drepper <>
* 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 <>.
2002-09-20 Steven Munroe <>
* 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 <>
* intl/dcigettext.c (DCIGETTEXT): Restore errno only right before
2002-09-17 Bruno Haible <>
* 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 <>
* 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 <>
* sysdeps/generic/gmp-mparam.h: Include <bits/wordsize.h>.
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 <>
* 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 <>
* 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 <>.
2002-09-17 Bruno Haible <>
* 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 <>
* sysdeps/unix/grantpt.c (pts_name): Set errno when __ptsname_r fails.
Reported by Bruno Haible <>.
* 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 <>.
2002-09-20 Steven Munroe <>
* 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 <>
* 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 <>.
* sysdeps/generic/ifreq.h (__ifreq): Compute termination condition
before doubling RQ_LEN.
* sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
Reported by Bruno Haible <>.
2002-09-18 Bruno Haible <>
* 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
2002-09-19 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/_exit.c: Include <errno.h>.
(_exit): Don't use ABORT_INSTRUCTION if it is not defined.
Reported by Glen Nakamura <>.
2002-09-19 Neal H. Walfield <>
* 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 <>
* 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 <>
* version.h (VERSION): Bump to 2.2.94.
* sysdeps/powerpc/fpu/Dist: Move fprrest.S and fprsave.S to...
* sysdeps/powerpc/powerpc32/fpu/Dist: New file.
* sysdeps/unix/sysv/linux/powerpc/Dist: Move kernel_stat.h to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Dist:
* sysdeps/i386/Makefile: Remove obsolete db2 rules.
* sysdeps/unix/sysv/linux/Makefile: Add exit-thread.S.
* sysdeps/unix/sysv/linux/powerpc/Dist: Add
* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: New file.
2002-09-19 Jakub Jelinek <>
* 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 <>
* 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.
* 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 <>
* 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
* signal/allocrtsig.c: Move to...
* sysdeps/generic/allocrtsig.c: New file.
2002-09-17 Jakub Jelinek <>
* 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
* sysdeps/i386/dl-machine.h (elf_machine_type_class): Return
(elf_machine_rel): Handle R_386_TLS_TPOFF.
(elf_machine_rela): Likewise.
Remove unnecessary RTLD_BOOTSTRAP #ifdefs.
2002-09-17 Roland McGrath <>
* malloc/Makefile ($(objpfx)memusagestat.o: sysincludes): Define
file-specific variable override so it compiles properly when using
2002-09-17 Steven Munroe <>
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
[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
[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.
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 <>
* 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 <>
* 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 <>
* 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 <>
* sysdeps/unix/sysv/linux/kernel-features.h [__powerpc64__]
__ASSUME_FCNTL64, __ASSUME_MMAP2_SYSCALL): Don't define these.
PowerPC64 does not have separate 64-bit syscalls.
2002-09-16 Roland McGrath <>
* 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 <>
* 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 <>
* 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 <>
* sysdeps/powerpc/abort-instr.h: New file.
2002-09-14 Ulrich Drepper <>
* sysdeps/generic/libc-start.c (__libc_start_main): Remove bogus
* test-skeleton.c (main): Provide more information in case waitpid
* 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.
* Add dl_iterate_phdr to test using -nostdlib.
2002-09-12 Jakub Jelinek <>
* 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 <>
* Makefile (manual/%): Add this pattern target to the iconvdata/% rule.
2002-07-29 Steven Munroe <>
* stdlib/longlong.h [_ARCH_PPC && W_TYPE_SIZE!=32]: Add powerpc64
specific asm macros for multiple percision integer math.
2002-06-04 Steven Munroe <>
* 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 <>
* 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 <>
* 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 <>
* manual/libc.texinfo: @ifinfo -> @ifnottex around copyright notice.
2002-09-13 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/mips/syscalls.list: Add readahead
syscall. Patch by Guido Guenther <>.
2002-09-12 Ulrich Drepper <>
* elf/elf.h: Correct DT_LOOS and DT_HIOS values.
2002-09-10 Ulrich Drepper <>
* sysdeps/powerpc/fpu/s_isnan.c: #undef __isnanf and isnanf after
reading the headers.
2002-09-12 Roland McGrath <>
* 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 <>
* 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) 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 <>.
2002-09-11 Jakub Jelinek <>
* posix/bug-regex11.c (tests): New array.
(main): Rewritten to run more different tests.
2002-09-10 Roland McGrath <>
* nscd/Makefile (CPPFLAGS-nscd, CPPFLAGS-nscd_conf, CPPFLAGS-dbg_log)
(CPPFLAGS-connections, CPPFLAGS-hstcache): Variables removed.
Instead, catch all of $(nscd-modules) via
* 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 <>
* 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 <>
* 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 <>
* 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 <>
* 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
* 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
* sysdeps/i386/fpu/s_isnanl.c (__isnanl): Likewise.
* sysdeps/i386/fpu/s_fpclassifyl.c (__fpclassifyl): Add
* sysdeps/i386/fpu/s_expm1l.S (__expm1l): Likewise.
* sysdeps/ieee754/dbl-64/s_finite.c (__finite): Remove INTDEF. Add
* sysdeps/ieee754/dbl-64/s_isinf.c (__isinf): Likewise.
(__isinfl): Remove INTDEF.
* sysdeps/ieee754/dbl-64/s_isnan.c (__isnan): Remove INTDEF. Add
(__isnanl): Remove INTDEF.
* sysdeps/ieee754/dbl-64/s_fpclassify.c (__fpclassify): Add
* 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
* 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
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add
* 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
* 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
* 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 <>
* elf/elf.h: Add powerpc64 specific elf relocation and dynamic types.
2002-09-09 Jakub Jelinek <>
* elf/dl-error.c (_dl_signal_cerror): Don't print anything if only
2002-09-09 Ulrich Drepper <>
* string/stratcliff.c: Some more strncpy tests.
Patch by Daniel Jacobowitz <>.
2002-09-08 Roland McGrath <>
* resolv/resolv.h: Include <sys/types.h> for u_long even in
the [__need_res_state] case.
Reported by Bruno Haible <>.
2002-09-04 Bruno Haible <>
* 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 <>
* posix/sys/utsname.h (_UTSNAME_SYSNAME_LENGTH): New macro, defined
to _UTSNAME_LENGTH if not already defined by <bits/utsname.h>.
(struct utsname): Use new macros instead of _UTSNAME_LENGTH.
2002-09-06 Ulrich Drepper <>
* 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
* test-skeleton.c (main): Improve error message for unexpected
signal case.
2002-09-05 Roland McGrath <>
* ctype/ctype-info.c: Renamed __ctype_old_* symbols to __ctype_*.
* locale/lc-ctype.c (_nl_postload_ctype): Likewise.
2002-09-05 Jakub Jelinek <>
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Unlock and return in
case of failure.
2002-09-04 Bruno Haible <>
* 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
* 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 <>
* sysdeps/powerpc/__longjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/__longjmp.S:
* sysdeps/powerpc/add_n.S: Moved to...
* sysdeps/powerpc/powerpc32/add_n.S:
* sysdeps/powerpc/addmul_1.S: Moved to...
* sysdeps/powerpc/powerpc32/addmul_1.S:
* sysdeps/powerpc/atomicity.h: Moved to...
* sysdeps/powerpc/powerpc32/atomicity.h:
* sysdeps/powerpc/backtrace.c: Moved to...
* sysdeps/powerpc/powerpc32/backtrace.c:
* sysdeps/powerpc/bp-asm.h: Moved to...
* sysdeps/powerpc/powerpc32/bp-asm.h:
* sysdeps/powerpc/bsd-_setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S:
* sysdeps/powerpc/bsd-setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/bsd-setjmp.S:
* sysdeps/powerpc/dl-machine.c: Moved to...
* sysdeps/powerpc/powerpc32/dl-machine.c:
* sysdeps/powerpc/dl-machine.h: Moved to...
* sysdeps/powerpc/powerpc32/dl-machine.h:
* sysdeps/powerpc/dl-start.S: Moved to...
* sysdeps/powerpc/powerpc32/dl-start.S:
* sysdeps/powerpc/gprrest0.S: Moved to...
* sysdeps/powerpc/powerpc32/gprrest0.S:
* sysdeps/powerpc/gprrest1.S: Moved to...
* sysdeps/powerpc/powerpc32/gprrest1.S:
* sysdeps/powerpc/gprsave0.S: Moved to...
* sysdeps/powerpc/powerpc32/gprsave0.S:
* sysdeps/powerpc/gprsave1.S: Moved to...
* sysdeps/powerpc/powerpc32/gprsave1.S:
* sysdeps/powerpc/lshift.S: Moved to...
* sysdeps/powerpc/powerpc32/lshift.S:
* sysdeps/powerpc/memset.S: Moved to...
* sysdeps/powerpc/powerpc32/memset.S:
* sysdeps/powerpc/mul_1.S: Moved to...
* sysdeps/powerpc/powerpc32/mul_1.S:
* sysdeps/powerpc/ppc-mcount.S: Moved to...
* sysdeps/powerpc/powerpc32/ppc-mcount.S:
* sysdeps/powerpc/register-dump.h: Moved to...
* sysdeps/powerpc/powerpc32/register-dump.h:
* sysdeps/powerpc/rshift.S: Moved to...
* sysdeps/powerpc/powerpc32/rshift.S:
* sysdeps/powerpc/setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/setjmp.S:
* sysdeps/powerpc/stpcpy.S: Moved to...
* sysdeps/powerpc/powerpc32/stpcpy.S:
* sysdeps/powerpc/strchr.S: Moved to...
* sysdeps/powerpc/powerpc32/strchr.S:
* sysdeps/powerpc/strcmp.S: Moved to...
* sysdeps/powerpc/powerpc32/strcmp.S:
* sysdeps/powerpc/strcpy.S: Moved to...
* sysdeps/powerpc/powerpc32/strcpy.S:
* sysdeps/powerpc/strlen.S: Moved to...
* sysdeps/powerpc/powerpc32/strlen.S:
* sysdeps/powerpc/sub_n.S: Moved to...
* sysdeps/powerpc/powerpc32/sub_n.S:
* sysdeps/powerpc/submul_1.S: Moved to...
* sysdeps/powerpc/powerpc32/submul_1.S:
* sysdeps/powerpc/elf/bzero.S: Moved to...
* sysdeps/powerpc/powerpc32/elf/bzero.S:
* sysdeps/powerpc/elf/start.S: Moved to...
* sysdeps/powerpc/powerpc32/elf/start.S:
* sysdeps/powerpc/fpu/__longjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S:
* sysdeps/powerpc/fpu/fprrest.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/fprrest.S:
* sysdeps/powerpc/fpu/fprsave.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/fprsave.S:
* sysdeps/powerpc/fpu/setjmp.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/setjmp.S:
* sysdeps/powerpc/fpu/s_copysign.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/s_copysign.S:
* sysdeps/powerpc/fpu/s_copysignf.S: Moved to...
* sysdeps/powerpc/powerpc32/fpu/s_copysignf.S:
* sysdeps/unix/sysv/linux/powerpc/brk.S: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S:
* sysdeps/unix/sysv/linux/powerpc/clone.S: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S:
* sysdeps/unix/sysv/linux/powerpc/glob64.c: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/glob64.c:
* sysdeps/unix/sysv/linux/powerpc/kernel_stat.h: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/kernel_stat.h:
* sysdeps/unix/sysv/linux/powerpc/socket.S: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S:
* sysdeps/unix/sysv/linux/powerpc/sysdep.h: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h:
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Moved to...
* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list:
Support PowerPC64. Separate powerpc into powerpc/powerpc32 and
2002-07-29 Steven Munroe <>
* Add powerpc64 to supported targets list. Also state the
minimum gcc version is 3.2
* README: Add powerpc64 to supported targets list.
* 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/ (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
(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 <>
* libio/tst-atime.c: Include <errno.h>.
(do_test): Only perform fstatvfs check if ST_NOATIME is defined.
2002-09-03 Isamu Hasegawa <>
* 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 <>
* resolv/nss_dns/dns-network.c (MAXPACKET): Increase minimum value
from 1024 to 65536, to avoid buffer overrun.
2002-09-03 Gerhard Tonn <>
* sysdeps/s390/s390/fpu/libm-test-ulps: Regenerate.
2002-09-04 Ulrich Drepper <>
* libio/tst-atime.c (do_test): Make sure noatime flag isn't set
for filesystem.
2002-09-04 Jakub Jelinek <>
* posix/bug-regex11.c: New test.
* posix/Makefile (tests): Add bug-regex11.
2002-09-03 Jakub Jelinek <>
* locale/tst-C_locale.c (run_test): Pass LC_ALL_MASK not LC_ALL to
2002-09-02 Roland McGrath <>
* 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 <>
* version.h (VERSION): Bump to 2.2.93.
* sysdeps/unix/sysv/linux/x86_64/Dist: Add __start_context.S.
2002-09-02 Jakub Jelinek <>
* elf/rtld.c (dl_main): If prelinking succeeded, mark all objects
as relocated.
2002-09-02 Jack Howarth <>
* sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
2002-09-02 Jakub Jelinek <>
* 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
(__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):
2002-09-02 Roland McGrath <>
* sysdeps/mach/hurd/Versions (ld: GLIBC_2.0): Add __fxstat64.
2002-09-01 Roland McGrath <>
* 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 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,
* 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 <>
* 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 <>
* sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass
* 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):
* 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
* sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed.
Instead, catch all rpcgen-objs via
2002-08-31 Roland McGrath <>
* posix/ 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
2002-08-31 Ulrich Drepper <>
* time/tst-ftime_l.c (main): Also test strftime with uselocale.
2002-08-31 Roland McGrath <>
* 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 <>
* sysdeps/gnu/Makefile: Only depend on Versions.v.i for
errlist-compat.c if versioning==yes.
2002-08-31 Andreas Jaeger <>
* 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 <>
* 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 <>
* 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
* 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
* sysdeps/unix/sysv/linux/x86_64/getcontext.S: Save all needed
2002-08-30 Ulrich Drepper <>
* elf/dynamic-link.h (elf_get_dynamic_info): Mark with
always_inline attribute.
2002-08-30 Roland McGrath <>
* 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 <>
* 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 <>
* 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 <>
* elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
* sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
* 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 <>
* 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 <>
* 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 <>.
* 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
Patches by Dan Kegel <>.
* 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 <>
* string/tst-strxfrm.c: Remove __ from function names.
2002-08-28 Ulrich Drepper <>
* include/wchar.h: Declare __mbsrtowcs_l.
* wcsmbs/Makefile (routines): Add mbsrtowcs_l.
* wcsmbs/mbsrtowcs.c: Add support for compilation with
* 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 <>
* 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.
Redefine this too.
2002-08-28 Jakub Jelinek <>
* 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
* 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 <>
* include/libc-symbols.h [!__ASSEMBLER__] (declare_symbol_1): Add
missing comma to .type directive.
2002-08-28 Jakub Jelinek <>
* sysdeps/ia64/elf/ (PI_STATIC_AND_HIDDEN): Define
* sysdeps/alpha/elf/ (libc_cv_alpha_hidden_gprel): New
(PI_STATIC_AND_HIDDEN): Define if check succeeded.
2002-08-28 Jakub Jelinek <>
* 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 <>
* 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 <>
* Makeconfig (default_cflags): Revert unintended change.
2002-08-28 Ulrich Drepper <>
* version.h (VERSION): Bump to 2.2.91.
* 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
* 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 <>
* 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.
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 *'.
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 <>
* 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 <>
* 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
* sysdeps/unix/Dist: Add i386/dl-brk.S, mips/dl-brk.S, and
* 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,
* ctype/ctype.h: Prepare headers for use in ISO C++ compliant
* 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 <>
* locale/tst-C-locale.c (run_test): Remove __ from function names.
2002-08-28 Jakub Jelinek <>
Roland McGrath <>
* 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 <>
* locale/programs/locarchive.c (insert_name): Suppress warnings about
hash collisions if be_quiet.
2002-08-27 Roland McGrath <>
* 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 <>.
* sysdeps/gnu/errlist-compat.c: Regenerated.
2002-08-27 Brian Youmans <>
* 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 <>
* 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 <>
* 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 <>
* 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
* 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 <>
* manual/sysinfo.texi (Mount Information): Correct file name to macro
Say mtab is in either /var/run or /etc.
2002-08-26 Roland McGrath <>
* 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.
* New check to define it.
* configure: Regenerated.
2002-08-27 Ulrich Drepper <>
* 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 <>
* 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 <>
* 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
* sysdeps/unix/sysv/linux/sigset-cvt-mask.h: Likewise.
* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: Likewise.
2002-07-06 Bruno Haible <>
* 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 <>
* 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 <>
* 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
2002-08-26 Jakub Jelinek <>
* 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 <>
* COPYING.LIB: Replaced with fresh copy from;
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/ 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
* 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 <>
* sysdeps/sh/Makefile (sysdeps_routines): Add divdi3 in csu dir.
(shared-only-routines): Likewise.
2002-08-26 Roland McGrath <>
* locale/programs/ld-ctype.c (ctype_read): When given a repertoire
name of "", store a null pointer instead.
* (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 <>
* 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
(DO_CALL): Swap argument order.
* sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
(DO_CALL): Swap argument order.
* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
(DO_CALL): Swap argument order.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
(DO_CALL): Swap argument order.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
(DO_CALL): Swap argument order.
* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
(DO_CALL): Swap argument order.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
(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
* 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
* 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
* 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
* 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 <>
* 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 <>
* 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
* 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 <>
* 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 <>
* locale/programs/locale.c: Don't print aliases for non-existing
locales for 'locale -a'.
Patch by Noah Levitt <> [PR libc/4166].
2002-07-19 H.J. Lu <>
* sysdeps/unix/sysv/linux/mips/bits/msq.h: New file.
2002-07-16 H.J. Lu <>
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
* sysdeps/unix/sysv/linux/sys/personality.h: New file.
2002-08-25 Ulrich Drepper <>
* 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 <>
* elf/dl-reloc.c (_dl_reloc_bad_type): Nul-terminate message.
2002-08-25 Roland McGrath <>
* 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 <>,
* 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
(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 <>
* 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
* 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
* libio/tst-mmap-fflushsync.c (do_test): Likewise.
* libio/tst-mmap2-eofsync.c (do_test): Likewise.
* sysdeps/i386/elf/ Unconditionally define
* elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
PI_STATIC_AND_HIDDEN is defined as well.
2002-08-24 Ulrich Drepper <>
* 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 <>
* 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 <>
* sysdeps/unix/sysv/linux/i386/Versions: Remove *xattr syscalls.
2002-08-23 Ulrich Drepper <>
* 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 <>.
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf):
Prefer reading /proc/stat since it is more uniform across
* 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 <>
* 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 <>
* 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
* 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 <>
* 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
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c
(__cache_line_size): Declare.
(__aux_init_cache): New function.
* sysdeps/powerpc/memset.S: Define __cache_line_size and use its
value to select the correct stride for dcbz.
2002-08-22 Andreas Jaeger <>
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Fix arguments of
2002-08-22 Roland McGrath <>
* 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 <>
* 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), $(objpfx) Likewise.
2002-08-21 Ulrich Drepper <>
* 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 <>
* 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 <>
* 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 <>
* 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 <>
* 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 <>
* 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
* 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 <>
Fix ABI compatibility with libc compiled with old tools on powerpc.
Changes contributed by Franz Sirl <>
and Jack Howarth <>.
* 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,
* 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 <>
* 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 <>
* elf/Makefile ($(objpfx) Separate commands in rule so errors
can be detected by make. Reported by H.J. Lu <>.
2002-08-20 Ulrich Drepper <>
* 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): 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 <>
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Return
immediately if result == NULL.
2002-08-16 Jakub Jelinek <>
* sysdeps/alpha/fpu/libm-test-ulps: Regenerate.
2002-08-18 Roland McGrath <>
* 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 <>
* locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix
in change before last: MAX -> MIN.
2002-08-15 Roland McGrath <>
* 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 <>
* 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
(TLS_INIT_HELPER): If defined, use it.
* sysdeps/generic/libc-tls.c (TLS_INIT_HELPER): Likewise.
2002-08-15 Roland McGrath <>
* 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 <>
* 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 <>.
* sysdeps/unix/sysv/linux/syscalls.list: Add *xattr syscalls.
2002-08-14 Roland McGrath <>
* 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 <>
* 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
(show_archive_content): Adjust for locale archives optimized for speed.
2002-08-14 Roland McGrath <>
* Use "MISSING" as not-found value for MIG.
* sysdeps/mach/ Fatal if mig not found.
* configure, sysdeps/mach/configure: Regenerated.
2002-08-13 Jakub Jelinek <>
* 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 <>
* 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 <>
* 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):
* 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 <>
* sysdeps/arm/Makefile: New file.
2002-08-08 Jakub Jelinek <>
* 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 <>
* 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 <>
* 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 <>
* 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 <>
* sysdeps/i386/strchr.S: Add comment.
2002-08-10 Roland McGrath <>
* 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 <>
* 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
* manual/debug.texi (%MENU%): Remove trailing dot.
Reported by <>.
* sysdeps/unix/sysv/linux/ia64/syscalls.list (llseek): Add lseek
(lseek): Dummy.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (llseek, lseek):
2002-08-09 Roland McGrath <>
* 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 <>
* 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
(create_archive): Update use.
2002-08-08 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/sigwait.c: New file.
2002-08-08 Roland McGrath <>
* resolv/netdb.h: Don't declare h_errno as a plain global any more.
2002-08-08 Jakub Jelinek <>
* 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 <>
* gmon/gmon.c (write_gmon): Use O_NOFOLLOW in open calls if available.
2002-08-08 Alexandre Oliva <>
* Make the test for broken_alias_attribute stricter.
2002-05-24 Robert Love <>
* posix/Makefile (routines): Add sched_getaffinity and
* posix/sched.h: Add declarations for sched_getaffinity and
* sysdeps/generic/sched_getaffinity.c: New file.
* sysdeps/generic/sched_setaffinity.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add sched_getaffinity and
2002-08-06 Andreas Schwab <>
* sysdeps/unix/utime.c: If TIMES is NULL pass it through to utimes.
2002-08-07 Ulrich Drepper <>
* elf/dl-load.c (_dl_map_object_from_fd): Add missing \n in error
* 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
* elf/rtld.c: Include <errno.h>.
* sysdeps/generic/libc-tls.c: Likewise.
2002-08-07 Roland McGrath <>
* 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.
2002-08-07 Ulrich Drepper <>
* malloc/tst-calloc.c: Add tests for one or both parameters being zero.
2002-08-07 Roland McGrath <>
* 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 <>.
2002-08-07 Jakub Jelinek <>
* malloc/malloc.c (public_cALLOc): Check ELEM_SIZE != 0 before
2002-08-06 Roland McGrath <>
* 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 <>
* 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,
* 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
(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): 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
* inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any.
* include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_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,
* 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 <>
* 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 <>
* 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 <>
* 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
* 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 <>
* 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 <>
* po/fr.po: Update from translation team.
2002-08-04 Roland McGrath <>
* sysdeps/unix/ 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 <>
* 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 <>
* 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, 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 <>
* 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
* 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
* sysdeps/wordsize-64/strtoul.c (__strtoull_internal): Add
* sysdeps/wordsize-64/strtoul_l.c (____strtoull_l_internal): Add
* sysdeps/wordsize-64/wcstoul.c (__wcstoull_internal): Add
2002-08-04 Ulrich Drepper <>
* 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,