blob: 5d9b00d42a3e13ab80a51ea22c8261b4fca1a1a8 [file] [log] [blame]
2004-12-20 Jakub Jelinek <>,
Jim Gifford <>
[BZ #562]
* sysdeps/mips/Makefile (librt-sysdep_routines): Add.
* sysdeps/unix/mips/rt-sysdep.S: New file.
2004-12-19 Roland McGrath <>
* iconv/Makefile (test-iconvconfig): New target.
[$(cross-compiling) != yes] (xtests): Depend on it.
* iconv/iconvconfig.c (nostdlib, output_file, output_file_len):
New variables.
(options, parse_opt, main): Take new options --nostdlib and
--output/-o to set them. Under --nostdlib, skip GCONV_PATH dirs.
(write_output): If output_file is set, write the output there.
2004-12-19 Andreas Jaeger <>
[BZ #560]
* inet/netinet/in.h: Use __interface_addr instead of __interface.
[BZ #573]
* sunrpc/xcrypt.c (passwd2des_internal): Make it hidden instead of
internal linkage.
2004-12-19 Roland McGrath <>
* version.h (VERSION): 2.3.4.
* README.template: Various updates.
* README: Regenerated.
* NEWS: Mention ports.
* README-alpha: File removed.
[BZ #416]
* locale/langinfo.h: Comment fixes.
2004-12-17 Ulrich Drepper <>
* po/ja.po: Update from translation team.
2004-12-17 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be
reset when CLONE_THREAD is not used.
2004-12-17 Jakub Jelinek <>
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
2004-12-17 Andreas Jaeger <>
* math/ (atan2_test): Compute value with 36 digits.
* sysdeps/alpha/fpu/libm-test-ulps: Adjust for changed result.
* sysdeps/powerpc/fpu/libm-test-ulps: Likewise.
* sysdeps/s390/fpu/libm-test-ulps: Likewise.
* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Likewise.
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Likewise.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2004-12-16 Ulrich Drepper <>
* stdlib/tst-setcontext.c: Enlarge st1 and st2 arrays.
2004-09-02 Steven Munroe <>
[BZ #610]
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
(__novec_getcontext): Fix typo in store of fp29.
(__getcontext): Fix typo in store of fp29.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
(__novec_swapcontext): Fix typo in store of fp29.
(__swapcontext): Fix typo in store of fp29.
2004-12-17 GOTO Masanori <>
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Fix
vague message.
2004-12-16 Roland McGrath <>
* nscd/Makefile ($(objpfx)nscd): Don't depend on $(selinux-LIBS),
which is usually a -lselinux that make will resolve wrongly.
2004-12-16 Andreas Jaeger <>
* math/math.h: Use #if defined to not receive warnings about
undefined symbols.
2004-12-16 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be reset
when CLONE_THREAD is not used.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
instead of errno.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Include
sysdep-cancel.h instead of sysdep.h. Handle cancellation.
* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Regenerate.
* sysdeps/ieee754/ldbl-128/e_expl.c: Include stdlib.h.
2004-12-15 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/gethostid.c: Make bi-arch safe.
2004-12-15 Steven Munroe <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Correct stack
alignment. Clean up flag bit tests.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Correct stack
alignment. Clean up flag bit tests. Remove redundent SP assignment.
Add TOC register save/restore around function call.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Make no_vmx symbol
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Make no_vmx symbol
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Make no_vmx symbol
* sysdeps/powerpc/powerpc64/setjmp-common.S: Make no_vmx and
aligned_save_vmx symbol local.
2004-12-15 Ulrich Drepper <>
* sysdeps/i386/i486/bits/string.h (__strncat_g): Fix i686
2004-09-08 H.J. Lu <>
* Makeconfig (libunwind): New.
(libgcc_eh): Add $(libunwind).
(gnulib): Always set to -lgcc $(libgcc_eh).
(static-gnulib): Always set to -lgcc -lgcc_eh $(libunwind).
( New.
* Makerules ( Use $( instead of
* (libc_cv_cc_with_libunwind): Set to yes if gcc
uses -lunwind for static binaries.
2004-06-05 Joseph S. Myers <>
* malloc/Makefile (install-bin): Remove memusage.
(install-bin-script): Add memusage.
2004-12-15 Jakub Jelinek <>
* nis/nis_domain_of_r.c (nis_domain_of_r): Use libnsl_hidden_def,
not libnsl_hidden_proto.
* sysdeps/unix/sysv/linux/s390/s390-32/clone.S (__clone): Add support
for NPTL where the PID is stored at userlevel and needs to be reset
when CLONE_THREAD is not used.
* sysdeps/unix/sysv/linux/s390/s390-64/clone.S (__clone): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
and restore r2 around call to fn.
2004-12-15 Andreas Jaeger <>
* sysdeps/ia64/dl-machine.h (elf_machine_rela): Mark auto instead
of static, add always_inline attribute.
(elf_machine_rela_relative): Likewise.
(elf_machine_lazy_rel): Likewise.
2004-12-15 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Add support
for pid caching in nptl.
2004-12-14 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Add support
for pid caching in nptl.
2004-10-18 Maciej W. Rozycki <>
* sysdeps/unix/sysv/linux/mips/bits/socket.h (__cmsg_nxthdr): Use
__NTH instead of __THROW in the inline definition.
* sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Likewise.
* sysdeps/mips/bits/dlfcn.h (RTLD_DEEPBIND): New macro.
* sysdeps/unix/sysv/linux/mips/bits/mman.h
2004-10-06 Alan Modra <>
* sysdeps/powerpc/powerpc64/ppc-mcount.S (PROF): Don't undef.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: Invoke CALL_MOUNT.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise.
2004-10-19 Wolfram Gloger <>
* malloc/hooks.c (mem2chunk_check, top_check): Handle
non-contiguous arena. Reported by Michael Dalton
<> [BZ #457]. Add further checks for top chunk.
2004-12-14 Jakub Jelinek <>
* sysdeps/posix/sysconf.c (__sysconf_check_spec): Remove leading
underscore from GETCONF_DIR filenames.
2004-12-13 Ulrich Drepper <>
* po/de.po: Update from translation team.
* nss/getnssent.c (__nss_getent): Double buffer size each round to
avoid problems with delays for some people's huge entries.
* nss/getXXbyYY.c (FUNCTION_NAME): Likewise.
2004-12-13 Jakub Jelinek <>
* posix/getconf.c (main): Prepend just $GETCONF_DIR/ instead of
$GETCONF_DIR/_ to spec.
* posix/confstr.c (confstr): Remove leading underscores for
2004-12-12 Ulrich Drepper <>
* elf/dl-load.c (_dl_map_object_from_fd): Fix computation of
mapping start. It must take the actual pagesize into account, not
the alignment in the file.
2004-12-11 Ulrich Drepper <>
* malloc/malloc.c (_int_realloc): Add checks for corrupted memory.
(_int_free): Make clear message are result of free() calls.
* malloc/malloc.c (_int_realloc): Remove unnecessary tests for
oldmem and size == 0.
2004-12-10 Ulrich Drepper <>
* malloc/arena.c (arena_get2): Prevent endless loop if arenas and
list lock are taken.
2004-12-08 Thorsten Kukuk <>
* nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_getnetgrent_r):
Add check if the value is not an empty string. [BZ #597]
2004-11-29 Jakub Jelinek <>
* stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2
and numsize < densize, always shift num up by empty + 1 limbs.
2004-12-07 Paolo Bonzini <>
* posix/regexec.c (proceed_next_node): Simplify treatment of epsilon
nodes. Pass the pushed node to push_fail_stack.
(push_fail_stack): Accept a single node rather than an array
of two epsilon destinations.
(build_sifted_states): Only walk non-epsilon nodes.
(check_arrival): Don't pass epsilon nodes to
(check_arrival_add_next_nodes) [DEBUG]: Abort if an epsilon node is
(check_node_accept): Do expensive checks later.
(add_epsilon_src_nodes): Cache result of merging the inveclosures.
* posix/regex_internal.h (re_dfastate_t): Add non_eps_nodes and
(re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at,
re_string_context_at, re_string_peek_byte_case,
re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
Declare as pure.
* posix/regex_internal.c (create_newstate_common): Remove.
(register_state): Move part of it here. Initialize non_eps_nodes.
(free_state): Free inveclosure and non_eps_nodes.
(create_cd_newstate, create_ci_newstate): Allocate the new
re_dfastate_t here.
2004-12-09 Ulrich Drepper <>
* malloc/malloc.c (public_rEALLOc): Add parameter checks.
(_int_free): Provide better error message for invalid pointers.
2004-12-01 Jakub Jelinek <>
* posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
conditionals instead of defined _POSIX_CPUTIME.
(main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
option is available.
* posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
conditionals instead of defined _POSIX_CPUTIME.
(do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
option is available.
* sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp.
_POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding
_SC_ argument.
2004-12-08 Jakub Jelinek <>
* elf/ When set -o pipefail is available, use that for
piping to cat; when not, don't use the pipe at all.
Pipe to cat in all cases of running the executable.
When direct running exits with code 5, retry running via ${RTLD}.
* elf/rtld.c (process_envvars): If __libc_enable_secure and
mode != normal, exit with exitcode 5.
2004-12-07 Jakub Jelinek <>
* sysdeps/posix/sysconf.c (__sysconf_check_spec): Only define
if it will be actually used.
2004-12-07 Roland McGrath <>
* rt/tst-timer5.c (setup_test): New function.
(TEST_CLOCK_MISSING): Use it to punt test if timer_create does not
2004-12-07 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/ia64/clone2.S (__clone2): Add support for
NPTL where the PID is stored at userlevel and needs to be reset when
CLONE_THREAD is not used. Restore gp before calling _exit.
2004-12-07 Kaz Kojima <>
* sysdeps/unix/sysv/linux/sh/clone.S: Clear the frame pointer when
starting a new thread. Add support for NPTL where the PID is stored
at userlevel and needs to be reset when CLONE_THREAD is not used.
2004-12-01 Jakub Jelinek <>
* elf/rtld.c (process_envvars): Don't consider LD_SHOW_AUXV
and LD_DYNAMIC_WEAK if __libc_enable_secure.
If __libc_enable_secure, /etc/suid-debug doesn't exist and
program will be actually run, turn off all debugging.
* sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add LD_DEBUG,
2004-12-06 Jakub Jelinek <>
* time/tzset.c (tzset_internal): If + or - is seen,
but no offset after it, reset offset to 0. [BZ #601]
2004-12-06 Ulrich Drepper <>
* libio/ioseekpos.c (_IO_seekpos_unlocked): Call _IO_SEEKOFF not
_IO_SEEKPOS, saving one indirect jump.
* libio/fileops.c (_IO_new_file_seekoff): Fix optimization of in-buffer
seek. Remove dead code.
2004-12-02 Jakub Jelinek <>
* libio/Makefile (tests): Add bug-ungetc4.
* libio/bug-ungetc4.c: New test.
2004-12-06 Roland McGrath <>
* sysdeps/unix/clock_nanosleep.c (clock_nanosleep): Diagnose EINVAL
Use SYSDEP_NANOSLEEP handler before validating CLOCK_ID value.
* rt/tst-timer4.c (TEST_CLOCK, TEST_CLOCK_NANOSLEEP): New macros.
Use them throughout in place of CLOCK_REALTIME and nanosleep.
(do_test) [TEST_CLOCK_MISSING]: Call this macro and if it returns
non-null, punt the test with a message using the string returned.
* rt/tst-timer5.c: New file.
* rt/Makefile (tests): Add it.
2004-12-01 Paolo Bonzini <>
* posix/regcomp.c (free_dfa_content, init_dfa): Remove
references to re_dfa_t's subexps field.
(parse_sub_exp, parse_expression): Do not use it. Use
completed_bkref_map instead.
(create_initial_state, peek_token): Store a backreference \N
with opr.idx = N-1.
* posix/regexec.c (proceed_next_node, check_dst_limits, get_subexp):
(check_subexp_limits): Remove useless condition.
* posix/regex_internal.h (re_subexp_t): Remove.
(re_dfa_t): Remove subexps and subexps_alloc field, add
2004-12-05 Roland McGrath <>
* Makeconfig: Comment typo fix.
2004-11-30 Andreas Schwab <>
* nis/ypclnt.c (ypprot_err): Remove unused entries.
2004-11-30 Paolo Bonzini <>
* posix/regexec.c (check_dst_limits_calc_pos_1): Check for
bkref_idx == -1, and don't recurse in that case.
2004-11-30 GOTO Masanori <>
* posix/confstr.c: Enclose #error message with double quote
for gcc-3.3 and lower.
2004-12-04 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/i386/clone.S: Add support for NPTL where
the PID is stored at userlevel and needs to be reset when CLONE_THREAD
is not used.
* sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise.
2004-11-18 Daniel Jacobowitz <>
* sysdeps/arm/sysdep.h: Define __USE_BX__ if bx is available.
Use it instead of __THUMB_INTERWORK__. Make RETINSTR take
only a condition and a register.
* sysdeps/arm/dl-machine.h: Use __USE_BX__ instead of
(_dl_start_user): Use BX.
* sysdeps/arm/strlen.S: Use DO_RET.
* sysdeps/unix/arm/brk.S: Likewise.
* sysdeps/unix/arm/fork.S: Likewise.
* sysdeps/unix/arm/sysdep.S: Likewise.
* sysdeps/unix/arm/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/arm/clone.S: Update uses of RETINSTR.
* sysdeps/unix/sysv/linux/arm/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise.
* sysdeps/unix/sysv/linux/arm/socket.S: Likewise.
* sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/arm/vfork.S: Likewise.
2004-12-02 Roland McGrath <>
* (object-suffixes-$(lib)): Add .oS when
$(lib)-static-only-routines is nonempty.
(extra-objs, rule): Filter out .oS from generators.
Add a special rule for .oS objects -> _nonshared.a library.
2004-12-01 Jakub Jelinek <>
* time/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
convert T2, not T.
* time/Makefile (tests): Add tst-mktime3.
* time/tst-mktime3.c: New test.
2004-12-01 Jakub Jelinek <>
* stdlib/stdlib.h (realpath): Remove nonnull attribute.
* posix/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
normal_bracket label.
* time/tst-mktime2.c (bigtime_test): Initialize tm.tm_isdst to -1.
2004-12-01 Roland McGrath <>
* sysdeps/gnu/Makefile ($(objpfx)errlist-compat.c):
Do $(make-target-directory).
2004-11-29 Roland McGrath <>
* posix/confstr.c: Avoid punctuation in #error text.
2004-11-27 Ulrich Drepper <>
* posix/Makefile (tests): Add tst-sysconf.
* posix/tst-sysconf.c: New file.
* posix/getconf.c (vars): Add support for _SC_IPV6 and
* sysdeps/posix/sysconf.c (__sysconf): Add support for _SC_IPV6
* sysdeps/generic/bits/confname.h: Define _SC_IPV6 and
2004-11-26 Jakub Jelinek <>
* sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.
2004-11-26 Kaz Kojima <>
* sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
NO_SGIDEFS_H isn't defined. Don't include sgidefs.h twice.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
2004-11-27 Ulrich Drepper <>
* include/dlfcn.h (__libc_dlopen): Add __RTLD_DLOPEN to the mode
parameter. Reported by VY Newsum <>.
2004-11-10 Daniel Jacobowitz <>
* libio/iolibio.h (_IO_fclose, _IO_new_fclose, _IO_old_fclose,
_IO_fflush, _IO_fgetpos, _IO_fgetpos64, _IO_fgets, _IO_fopen,
_IO_old_fopen, _IO_new_fopen, _IO_fopen64, __fopen_internal,
_IO_fprintf, _IO_fputs, _IO_fsetpos, _IO_fsetpos64, _IO_ftell,
_IO_fread, _IO_fwrite, _IO_gets, _IO_printf, _IO_puts, _IO_scanf,
_IO_fflush_internal, _IO_ftell_internal, _IO_fputs_internal)
_IO_fwrite_internal): Remove incorrect __THROW.
* libio/libioP.h (_IO_default_xsputn, _IO_wdefault_xsputn,
_IO_default_xsgetn, _IO_wdefault_xsgetn, _IO_default_write,
_IO_default_read, _IO_getline, _IO_getline_info, _IO_getwline,
_IO_getwline_info, _IO_file_read_internal, _IO_sgetn_internal,
_IO_wdo_write_internal, _IO_do_write_internal,
_IO_getline_info_internal, _IO_getline_internal,
_IO_vfprintf_internal, _IO_putc_internal, _IO_read, _IO_write,
_IO_close): Likewise.
2004-11-26 Jakub Jelinek <>
* posix/Makefile (install-others): Add $(inst_libexecdir)/getconf.
(CFLAGS-sysconf.c): Add -D_GETCONF_DIR.
(CFLAGS-getconf.c): New.
($(inst_libexecdir)/getconf): New.
* posix/confstr.c (confstr): Use __sysconf to query specifications
that don't have _POSIX_V6_* macros defined. Use __*_{C,LD}FLAGS
macros defined in bits/environments.h.
* sysdeps/posix/sysconf.c: Include stdlib.h, string.h and
(__sysconf_check_spec): New routine.
(__sysconf): Use it.
* posix/getconf.c (specs): Change into structure array.
(main): If -v is not given, try to get default from
$(libexecdir)/getconf/default. If specification is not
supported by this getconf, try to execute
* sysdeps/unix/bsd/bsd4.4/freebsd/bits/environments.h: New file.
* sysdeps/unix/sysv/linux/s390/bits/environments.h: New file.
* sysdeps/unix/sysv/linux/powerpc/bits/environments.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/environments.h: New file.
* sysdeps/unix/sysv/linux/i386/bits/environments.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/environments.h: New file.
* sysdeps/generic/bits/environments.h (__ILP32_OFFBIG_CFLAGS):
* stdlib/stdlib.h (setenv): Use nonnull only for second argument.
(unsetenv): Remove.
2004-11-23 Paolo Bonzini <>
* posix/regcomp.c (analyze_tree): Always call calc_epsdest.
(calc_inveclosure): Use re_node_set_insert_last.
(parse_dup_op): Lower X{1,5} to (X(X(X(XX?)?)?)?)?
rather than X?X?X?X?X?.
* posix/regex_internal.h (re_node_set_insert_last): New declaration.
* posix/regex_internal.c (re_node_set_insert_last): New function.
* posix/PCRE.tests: Add testcases.
2004-11-25 Ulrich Drepper <>
* dlfcn/dlfcn.h: Remove nonnull attribute from dlopen.
* posix/confstr.c (confstr): Return appropriate strings for
2004-11-05 Maciej W. Rozycki <>
* sysdeps/mips/dl-machine.h: Include <sgidefs.h>. Use _ABIO32,
_ABIN32 and _ABI64 for ABI selection throughout.
* sysdeps/mips/elf/start.S: Likewise.
* sysdeps/mips/mips64/__longjmp.c: Likewise.
* sysdeps/mips/mips64/bsd-_setjmp.S: Likewise.
* sysdeps/mips/mips64/bsd-setjmp.S: Likewise.
* sysdeps/mips/mips64/setjmp.S: Likewise.
* sysdeps/mips/mips64/setjmp_aux.c: Likewise.
* sysdeps/mips/sys/regdef.h: Likewise.
* sysdeps/mips/sys/ucontext.h: Likewise.
* sysdeps/unix/mips/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h: Likewise.
* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
* sysdeps/mips/atomicity.h: Use _ABIO32, _ABIN32 and _ABI64 for
ABI selection throughout.
* sysdeps/mips/bits/setjmp.h: Likewise.
* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
* sysdeps/mips/machine-gmon.h: Likewise.
* sysdeps/mips/sys/asm.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.
* sysdeps/mips/sgidefs.h: Prevent <asm/sgidefs.h> from being
included by kernel headers and undo its settings if already
included. Define _ABIO32, _ABIN32 and _ABI64 if missing and use
them to define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32 and
_MIPS_SIM_ABI64 for compatibility.
* sysdeps/unix/sysv/linux/mips/Makefile: Use _ABIO32, _ABIN32 and
_ABI64 for ABI selection in generated syscall-list.h
* sysdeps/unix/sysv/linux/mips/ Use _ABIO32, _ABIN32
and _ABI64 for ABI selection in generated asm-unistd.h.
* sysdeps/unix/sysv/linux/mips/configure: Regenerate.
* sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Correct
an inverted _MIPS_SIM conditional.
2004-11-23 Alexandre Oliva <>
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Use free
range even if it doesn't match exactly.
2004-11-23 Jakub Jelinek <>
* nss/nss_files/files-XXX.c (internal_getent): If parse_line returned
2004-11-22 Ulrich Drepper <>
* sysdeps/i386/fpu_control.h: Add volatile to the asms.
Patch by Alexander Stohr.
2004-11-22 Jakub Jelinek <>
* nscd/nscd_getai (__nscd_getai): Avoid memory and file descriptor
* sysdeps/posix/getaddrinfo.c (gaih_inet): Free air.
2004-11-15 Maciej W. Rozycki <>
* sysdeps/unix/sysv/linux/mips/bits/siginfo.h (__SI_MAX_SIZE):
Define appropriately based on __WORDSIZE.
[struct siginfo] (__pad0): Add for explicit padding.
* sysdeps/unix/sysv/linux/mips/bits/siginfo.h: Formatting fixes
2004-11-22 Ulrich Drepper <>
* dirent/dirent.h: Add nonnull attributes.
* dlfcn/dlfcn.h: Likewise.
2004-11-20 Jakub Jelinek <>
* sysdeps/ieee754/k_standard.c: Document code 50.
(__kernel_standard) <case 50>: Avoid raising div-by-zero
exception again.
2004-11-19 H.J. Lu <>
[BZ #552]
* math/ (tgamma_test): Update tgamma (0) and
tgamma (-0).
* sysdeps/generic/w_tgamma.c (__tgamma): Properly handle |x| == 0.
* sysdeps/generic/w_tgammaf.c (__tgammaf): Likewise.
* sysdeps/generic/w_tgammal.c (__tgammal): Likewise.
* sysdeps/ieee754/dbl-64/e_gamma_r.c (__ieee754_gamma_r): Likewise.
* sysdeps/ieee754/flt-32/e_gammaf_r.c: Likewise.
* sysdeps/ieee754/ldbl-128/e_gammal_r.c: Likewise.
* sysdeps/ieee754/ldbl-96/e_gammal_r.c: Likewise.
* sysdeps/ieee754/k_standard.c (__kernel_standard): Handle
tgamma (0) and tgamma (-0).
2004-11-20 Ulrich Drepper <>
* time/tzfile.c (__tzfile_read): Avoid open for checking whether
the file we already use changed.
* misc/syslog.c: Remove !USE_IN_LIBIO code.
2004-11-20 Jakub Jelinek <>
* signal/signal.h (__sysv_signal, sysv_signal, signal, bsd_signal,
ssignal): Remove __nonnull attribute.
2004-11-20 Kaz Kojima <>
* sysdeps/unix/sysv/linux/sh/sys/procfs.h: New file.
2004-11-20 Ulrich Drepper <>
* signal/signal.h: Add nonnull attributes.
* signal/signal.h: Add deprecated attributes to sigstack,
sigpause, sigblock, sigsetmask, siggetmask.
2004-11-20 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/bits/socket.h (SCM_RIGHTS): Avoid
comma at the end of enum if __USE_BSD is not defined.
2004-11-19 Ulrich Drepper <>
* malloc/malloc.c (_int_malloc): Check for corruption of chunk
which is about to be returned.
* malloc/malloc.c (_int_free): Add a few more cheap tests for
2004-11-17 Randolph Chung <>
* sysdeps/hppa/dl-machine.h (TRAMPOLINE_TEMPLATE): Add unwind
2004-11-18 Jakub Jelinek <>
[BZ #544]
* posix/regex.h (RE_NO_SUB): New define.
* posix/regex_internal.h (OP_DELETED_SUBEXP): New.
(re_dfa_t): Add subexp_map.
* posix/regcomp.c (struct subexp_optimize): New type.
(optimize_subexps): New routine.
(re_compile_internal): Call it.
(re_compile_pattern): Set preg->no_sub to 1 if RE_NO_SUB.
(free_dfa_content): Free subexp_map.
(calc_inveclosure, calc_eclosure): Skip OP_DELETED_SUBEXP nodes.
* posix/regexec.c (re_search_internal): If subexp_map
is not NULL, duplicate registers as needed.
* posix/Makefile: Add rules to build and run tst-regex2.
* posix/tst-regex2.c: New test.
* posix/rxspencer/tests: Fix last two tests (\0 -> \1).
Add some new tests for nested subexpressions.
2004-11-18 Ulrich Drepper <>
* libio/libio.h (_IO_FLAGS2_FORTIFY): Renamed from
* debug/fprintf_chk.c: Adjust all users.
* debug/printf_chk.c: Likewise.
* debug/vfprintf_chk.c: Likewise.
* debug/vprintf_chk.c: Likewise.
* debug/vsnprintf_chk.c: Likewise.
* debug/vsprintf_chk.c: Likewise.
* stdio-common/vfprintf.c: Likewise. Detect missing %N$ formats.
* debug/tst-chk1.c: Test detection of missing %N$ formats.
2004-11-15 Jakub Jelinek <>
* posix/bug-regex24.c: Include string.h.
* nis/nis_clone_obj.c (nis_clone_object): Rename out3 label to out2
and out2 to out. Remove out label. Formatting.
2004-11-15 Ulrich Drepper <>
* include/stdio.h: Do not mark __libc_message as noreturn.
* sysdeps/unix/sysv/linux/libc_fatal.c (__libc_fatal): Add loop to
fool gcc. Include <stdbool.h>.
* sysdeps/posix/libc_fatal.c (__libc_fatal): Add loop to fool gcc.
(__libc_message): Fix typo.
2004-11-13 Ulrich Drepper <>
* malloc/malloc.c (malloc_state): stat_lock_* elements need only
be defined if THREAD_STATS is defined. Remove pad0_ since it does
not align with cache line sizes in general anyway.
2004-11-13 Jakub Jelinek <>
* elf/rtld.c (print_statistics): Avoid segfaults if not all namespaces
are used. Fix computation of num_relative_relocations on RELA
architectures other than IA-64 and Alpha.
2004-11-13 Ulrich Drepper <>
* malloc/malloc.c (_int_free): Use munmap_chunk for handling
mmaped memory.
2004-11-12 Ulrich Drepper <>
* malloc/malloc.c (_int_free): Remove test for NULL parameter.
(_int_realloc): Call _int_free only if memory parameter is not NULL.
* sysdeps/unix/sysv/linux/libc_fatal.c: Add new function __libc_message
which performs the printing and simple format string handling. The
string is written to tty, stderr, syslog in this order, stopping after
the first successful output.
(__libc_fatal): Call __libc_message.
* include/stdio.h: Declare __libc_message.
* malloc/malloc.c (malloc_printerr): Use __libc_message.
* debug/chk_fail.c: Also print message with __libc_message.
* debug/test-strcpy_chk.c: Ensure that debug messages are not printed
to the terminal or stderr.
* debug/tst-chk1.c: Likewise.
* posix/Makefile: Remove gpl2lgpl variable.
2004-11-12 Martin Schwidefsky <>
* elf/elf.h: Add 20 bit relocations R_390_*20.
2004-11-12 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/i386/setuid.c: Include linux/posix_types.h.
* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
2004-11-12 Andreas Schwab <>
* nis/ypclnt.c (ypprot_err): Fix "minor optimizations".
2004-11-12 Ulrich Drepper <>
* posix/Makefile (tests): Add bug-regex24.
* posix/bug-regex24.c: New file.
2004-11-12 Paolo Bonzini <>
* posix/regexec.c (check_dst_limits_calc_pos_1): Use the map to
cut recursive paths. Make exit condition more precise.
(match_ctx_add_entry): Initialize the map.
* posix/regex_internal.h (struct re_backref_cache_entry): Add a map of
reachable subexpression nodes from each backreference cache entry.
2004-11-10 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/setreuid.c: Remove sys/syscall.h,
sys/types.h, linux/posix_types.h, sysdep.h and pthread-functions.h
includes. Include setxid.h. Use INLINE_SETXID_SYSCALL macro
instead of INLINE_SYSCALL, kill the HAVE_PTR__NPTL_SETXID guarded
* sysdeps/unix/sysv/linux/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/setuid.c: Likewise.
* sysdeps/unix/sysv/linux/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/setreuid.c: Likewise.
Formatting. Change signed int into int.
* sysdeps/unix/sysv/linux/alpha/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
* sysdeps/unix/setxid.h: New file.
* Rules (binaries-static): Add xtests-static.
* Makeconfig (run-program-prefix): Filter also xtests-static.
2004-11-09 Paul Eggert <
[BZ #535]
* time/difftime.c: Fix a double-rounding bug on hosts with
64-bit time_t and long double being IEEE double. Also, port
to more valid C99 hosts, even those that have padding bits.
Don't include <values.h> since it is marked as an obsolescent
interface. Include <limits.h>, <float.h>, and <stdint.h> instead.
(subtract): New static function, that works correctly without
double-rounding, even on hosts with 64-bit time_t. Also cater
to hosts with padding bits.
(__difftime): Use it. Use DBL_MANT_DIG and LDBL_MANT_DIG to
determine whether floating types are wide enough: the old
test (which used sizeof) could in theory report the wrong results
on hosts with padding bits in floating-point values.
2004-11-11 Simon Josefsson <>
[BZ #542]
* sysdeps/generic/strtok_r.c [HAVE_CONFIG_H]: Include config.h.
[!_LIBC]: Include strtok_r.h (in gnulib), map __strtok_r to
strtok_r and __rawmemchr to strch.
(__strtok_r): Use C89 prototype.
[weak_alias]: Move calls to libc_hidden_def and weak_alias into
this #ifdef.
2004-11-10 Paul Eggert <>
[BZ #541]
* time/mktime.c (SHR): New macro, which is a portable
substitute for >> that should work even on Crays.
(TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
Problem reported by Mark D. Baushke in
2004-11-09 Paolo Bonzini <>
* posix/regexec.c (match_ctx_free_subtops): Remove, merge into...
(match_ctx_clean): ... this function.
(match_ctx_free): Call match_ctx_clean.
* posix/regexec.c (transit_state): Remove the check for
out-of-bounds buffers.
(check_matching): Check here for out-of-bounds buffers.
(re_search_internal): Store into match_kind a set of bits
indicating which incantation of fastmap scanning must be
used. Use a switch statement instead of multiple ifs.
Exit the final "for (;;)" with goto free_return unless
the match succeeded, thus simplifying some conditionals.
* posix/regex_internal.c (re_string_reconstruct,
re_string_context_at): Add several branch predictions for
case-sensitive matching and no transition table being used.
2004-11-10 Ulrich Drepper <>
* posix/tst-waitid.c: Don't use error to print error message, they
won't end up in the .out file.
2004-11-09 Ulrich Drepper <>
* nscd/nscd-client.h (libc_locked_map_ptr): Add new first
parameter, used as class for definition.
* nscd/nscd_getpw_r.c: Adjust for libc_locked_map_ptr change.
(pw_map_free): Ensure no crash after memory is freed.
* nscd/nscd_getgr_r.c: Likewise. Make map externally visible.
* nscd/nscd_gethst_r.c: Likewise.
* nscd/nscd_getai.c: Use map from nscd_gethost.c.
* nscd/nscd_initgroups.c: Use map from nscd_getgr.c.
* nscd/nscd_getai.c: Add some checks to detect corrupt databases.
* nscd/nscd_getgr_r.c: Likewise
* nscd/nscd_gethst_r.c: Likewise.
* nscd/nscd_getpw_r.c: Likewise
2004-11-09 Jakub Jelinek <>
* posix/regcomp.c (calc_eclosure_iter): Don't access
dfa->edests[node].elems[0] if dfa->edests[node].nelem == 0.
* posix/rxspencer/tests: Add 5 new tests.
2004-11-09 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ifaddrs.c: Determine sin6_scope_id field
value correctly. Patch by Mitsuru Kanda <>.
2004-11-04 Jakub Jelinek <>
* libio/fileops.c (_IO_new_file_seekoff): If mode is 0 and
fp->_offset == _IO_pos_BAD, just call _IO_SYSSEEK (fp, 0, dir)
and if successful set fp->_offset.
* libio/Makefile (tests): Add bug-ungetc3.
* libio/bug-ungetc3.c: New test.
2004-11-03 Marcus Brinkmann <>
* sysdeps/gnu/_G_config.h (_G_HAVE_MREMAP): Define symbol.
* sysdeps/mach/hurd/_G_config.h: New file.
* libio/fileops.c (mmap_remap_check) [__linux__]: Replaced with
2004-11-08 Ulrich Drepper <>
* posix/regcomp.c (utf8_sb_map): Define.
(free_dfa_content): Don't free dfa->sb_char if it's a pointer to
(init_dfa): Use utf8_sb_map instead of initializing memory when the
encoding is UTF-8.
2004-11-03 Paolo Bonzini <>
* posix/regcomp.c (init_dfa): Get the codeset name outside glibc as
well. Check if it is spelled UTF8 as well as UTF-8, and check
case-insensitively. Set dfa->map_notascii manually when outside
* posix/regex_internal.c (build_wcs_upper_buffer) [!_LIBC]: Enable
optimizations based on map_notascii.
* posix/regex_internal.h [HAVE_LANGINFO_H || HAVE_LANGINFO_CODESET
|| _LIBC]: Include langinfo.h.
* posix/regex_internal.h (struct re_backref_cache_entry): Add "more"
* posix/regexec.c (check_dst_limits): Hoist computation of the source
and destination bkref_idx out of the loop. Pass it to
(check_dst_limits_calc_pos_1): New function, containing the recursive
loop of check_dst_limits_calc_pos; uses the "more" field of
struct re_backref_cache to control the loop.
(check_dst_limits_calc_pos): Store into "boundaries" the position
relative to lim's start and end positions. Do not accept eclosures,
accept bkref_idx instead. Call check_dst_limits_calc_pos_1 to do the
(sift_states_bkref): Use the "more" field of struct re_backref_cache
to control the loop. A big "if" was turned into a continue and the
function was reindented.
(get_subexp): Use the "more" field of struct re_backref_cache
to control the loop.
(match_ctx_add_entry): Initialize the bkref_ents' "more" field.
(search_cur_bkref_entry): Return -1 if out of bounds.
* posix/regexec.c (empty_set): Remove.
(sift_states_backward): Remove cur_src variable. Move inner loop
to build_sifted_states.
(build_sifted_states): Extract from sift_states_backward. Do not
use empty_set.
(update_cur_sifted_state): Do not use empty_set. Special case
dest_nodes->nelem == 0.
* posix/regex_internal.h (struct re_backref_cache_entry): Remove flag
(struct re_sift_context_t): Remove cur_bkref, cls_subexp_idx,
check_subexp fields. Move limits last.
* posix/regexec.c (match_ctx_clear_flag): Remove.
(sift_ctx_init): Remove check_subexp parameter. Do not set removed
fields. Callers adjusted.
(expand_bkref_cache): Remove last_str parameter. Callers adjusted.
(re_search_internal): Remove fast_translate variable.
(update_cur_sifted_state): Pass candidates as the final parameter
to sift_states_bkref.
(sift_states_bkref): Change last unused parameter to be "candidates",
do not fetch candidates into a local variable.
Remove dead test for "node == sctx->bkref", and the cur_bkref_idx
Remove loops that set/reset the flag field of backref cache entries.
(check_arrival_add_next_nodes): Use a signed int to hold the return
value of re_node_set_insert.
(group_nodes_into_DFAstates): Likewise.
(match_ctx_add_entry): Do not set the flag field of the new entry.
2004-11-05 Roland McGrath <>
* sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Define
_dl_sysinfo_dso under [NEED_DL_SYSINFO_DSO] as well.
* elf/rtld.c (dl_main): Set up GLRO(dl_sysinfo_dso) under
* sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Always include
AT_SYSINFO and AT_SYSINFO_EHDR in name table.
(_dl_sysdep_start) [NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR.
* elf/dl-support.c (_dl_sysinfo_dso): Define also under
Match AT_SYSINFO_EHDR and set GL(dl_sysinfo_dso).
2004-11-05 Roland McGrath <>
* manual/errno.texi (Error Codes): Revert last change for now.
* sysdeps/gnu/errlist.c: Regenerated.
2004-11-04 Roland McGrath <>
* Makeconfig (link-libc, rpath-dirs): Remove AIX cruft definitions.
(LDFLAGS-rpath-ORIGIN, LDFLAGS-soname-fname): Likewise.
(LDFLAGS-rdynamic, LDFLAGS-Bsymbolic): Likewise.
($(common-objpfx)gnu/lib-names.stmp): Likewise.
2004-11-01 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/x86_64/sys/procfs.h [__WORDSIZE == 32]
(elf_fpxregset_t): New type.
(struct elf_prpsinfo): If __WORDSIZE == 32, change pr_[ug]id type
to unsigned short int.
* sysdeps/unix/sysv/linux/x86_64/sys/user.h
(struct user_fpregs_struct): Fix comment.
* sysdeps/i386/fpu/bits/mathdef.h (float_t, double_t): If
__FLOAT_EVAL_METHOD__ is defined and 0, typedef to float resp. double.
* sysdeps/x86_64/fpu/bits/mathdef.h: Include bits/wordsize.h.
(float_t, double_t): If -m32 and not -mfpmath=sse, typedef to
long double.
* sysdeps/x86_64/fpu/bits/fenv.h: Include bits/wordsize.h.
(fenv_t): Remove __mxcsr field for -m32.
2004-11-04 Jakub Jelinek <>
* libio/ftello.c (ftello): Don't subtract save_end - save_base
if pos is _IO_pos_BAD.
* libio/ftello64.c (ftello64): Likewise.
* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
* libio/iofgetpos64.c (_IO_new_fgetpos64): Likewise.
* libio/oldiofgetpos.c (_IO_old_fgetpos): Likewise.
* libio/oldiofgetpos64.c (_IO_old_fgetpos64): Likewise.
* libio/ioftell.c (_IO_ftell): Likewise.
Cast to long int instead of off_t when checking for overflow.
2004-11-04 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/register-dump.h (regnames): Align.
(linefeed): Remove.
(register_dump): Rewrite to generate into a flat buffer instead
of into iovecs.
2004-11-02 Jakub Jelinek <>
* debug/tst-chk1.c (ret): New volatile variable.
(CHK_FAIL_END): Remove redundant ret setting.
(do_test): Remote ret variable.
2004-01-03 Paolo Bonzini <>
* posix/regex_internal.h (__regfree) [!_LIBC]: Define to regfree.
2004-11-03 Marcus Brinkmann <>
* sysdeps/generic/utime.c: Include <stddef.h>.
* sysdeps/generic/sysconf.c: Include <grp.h> and <pwd.h>.
* sysdeps/generic/tempname.c (__path_search): Add missing argument
2004-10-31 Mariusz Mazur <>
* sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
* sysdeps/unix/sysv/linux/alpha/setresgid.c: New file.
* sysdeps/unix/sysv/linux/alpha/setresuid.c: New file.
* sysdeps/unix/sysv/linux/alpha/setreuid.c: New file.
2004-10-27 Derek R. Price <>
[BZ #487] This change is imported from gnulib.
* time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check.
2004-10-24 Paul Eggert <>
[BZ #473]
* time/tst-mktime.c (main): Don't assume that mktime fails
when given time stamps before 1970. It returns negative
time_t values instead, for compatibility with BSD.
* time/tst-mktime2.c: New file.
* time/Makefile (tests): Add it.
[BZ #473] Import from gnulib. Revamp to avoid several problems near
time_t extrema, and on hosts with 64-bit time_t and 32-bit int.
This fixes Debian bug 177940.
* time/mktime.c (TIME_T_MIDPOINT): New macro.
(ydhms_diff): Renamed from ydhms_tm_diff, with a new signature,
which avoids overflow problems on hosts with 64-bit time_t and
32-bit int. All callers changed. Now an inline function.
Verify at compile-time that long int is wide enough to avoid
these overflow problems.
(guess_time_tm): New function.
(__mktime_internal): Use it. Avoid overflow when computing yday on
hosts with 64-bit long and 32-bit int. Remove tests for 69;
no longer needed. Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE
so that the code is checked by more compilers.
Do not rely on floating point to probe: stick to integer arithmetic,
to avoid potential porting problems.
Repair potential overflow correctly in the Southern Hemisphere.
(localtime_offset): Add a FIXME for the case where time_t is unsigned.
2004-10-30 Andreas Schwab <>
* sysdeps/m68k/dl-machine.h (elf_machine_rela)
(elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
instead of static.
2004-10-30 Andreas Schwab <>
* sysdeps/unix/sysv/linux/waitid.c: Include <stddef.h> for NULL.
2004-10-30 Ulrich Drepper <>
* malloc/malloc.c (_int_free): Use unique comments for the error
2004-10-28 Roland McGrath <>
* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state
instead of machine_thread_state.
2004-10-28 Roland McGrath <>
* sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot.
2004-10-28 Ulrich Drepper <>
* elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script.
2004-10-27 Ulrich Drepper <>
* elf/dl-load.c (_dl_map_object): Use cache_rpath to check for
existing rpath in main executable, not explicit test.
2004-10-27 Jakub Jelinek <>
* include/resolv.h (_res_opcodes): New extern.
Add libresolv_hidden_proto.
* resolv/res_debug.c (_res_opcodes): Remove.
(__p_class_syms, __p_type_syms): Add libresolv_hidden_proto
and libresolv_hidden_data_def. Remove attribute_hidden.
* resolv/res_mkquery (_res_opcodes): Remove.
* resolv/res_data.c (_res_opcodes): Remove attribute_hidden.
Add libresolv_hidden_data_def.
2004-10-27 Ulrich Drepper <>
* elf/dl-open.c (_dl_open): Don't allow explicitly opening a DSO
into an empty namespace.
* elf/dl-fini.c (_dl_fini): Fix search for map in maps array.
Reverse order of namespaces.
* elf/Makefile: Add rules to build and run tst-dlmopen3.
* elf/tst-dlmopen3.c: New file.
* elf/tst-dlmopen1mod.c: Add check whether constructor runs.
2004-10-27 Jakub Jelinek <>
* sysdeps/generic/glob.c (globfree): Clear gl_pathv after freeing it.
* posix/Makefile: Add rules to build and run bug-glob2 test.
* posix/bug-glob2.c: New test.
2004-10-27 Roland McGrath <>
* sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro.
(_hurd_tls_init): Use it.
(_hurd_tls_fork): New function.
* sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it.
2004-10-26 Roland McGrath <>
* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb.
2004-10-26 Jakub Jelinek <>
* sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t
type instead of uint16_t. Formatting.
2004-10-25 Roland McGrath <>
* login/openpty.c (openpty): Add libutil_hidden_def.
* nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to
either libc_hidden_def or libnss_files_hidden_def, not hidden_def.
This file is also compiled into libnss_hesiod by #include.
2004-10-25 Roland McGrath <>
* sysdeps/unix/bsd/hp: Directory and all files removed.
These are now in the ports repository.
* sysdeps/unix/bsd/osf: Likewise.
* sysdeps/unix/bsd/sequent: Likewise.
* sysdeps/unix/bsd/sony: Likewise.
* sysdeps/unix/bsd/ultrix4: Likewise.
* sysdeps/unix/sysv/aix: Likewise.
* sysdeps/unix/sysv/hpux: Likewise.
* sysdeps/unix/sysv/irix4: Likewise.
* sysdeps/unix/sysv/isc2.2: Likewise.
* sysdeps/unix/sysv/minix: Likewise.
* sysdeps/unix/sysv/sco3.2.4: Likewise.
* sysdeps/unix/sysv/sco3.2: Likewise.
* sysdeps/unix/sysv/sysv4: Likewise.
* (ASM_LINE_SEP): Move this setting to ...
* sysdeps/hppa/ ... here, new file.
* sysdeps/hppa/configure: New generated file.
* configure: Regenerated.
2004-10-25 Kaz Kojima <>
* sysdeps/sh/dl-machine.h: Include sysdep.h.
(elf_machine_runtime_setup): Add always_inline attribute.
(_dl_start_user): Pass the correct environ.
(elf_machine_rela): Replace static inline by auto inline, add
always_inline attribute.
(elf_machine_rela_relative): Likewise.
(elf_machine_lazy_rel): Likewise.
2004-10-24 Ulrich Drepper <>
* nis/nis_call.c: Pretty printing. Minor cleanups.
* nis/nis_addmember.c (nis_addmember): Add assert to check buffer
* resolv/nss_dns/dns-host.c: Avoid using PLTs.
* include/libc-symbols.h: Define hidden attribute macros for
libnss_nisplus and libutil.
* include/utmp.h: Add libutil_hidden_proto for login_tty.
* login/login_tty.c: Add libutil_hidden_def.
* nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers.
* nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def.
* include/pty.h: New file.
* include/rpcsvc/yp.h: New file.
* include/rpcsvc/ypclnt.h: New file.
* include/rpcsvc/ypupd.h: New file.
* include/libc-symbols.h: Define hidden attribute macros for libnsl.
* include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various
* nis/nis_add.c: Add libnsl_hidden_def. Minor optimizations.
* nis/nis_call.c: Likewise.
* nis/nis_clone_obj.c: Likewise.
* nis/nis_defaults.c: Likewise.
* nis/nis_domain_of_r.c: Likewise.
* nis/nis_error.c: Likewise.
* nis/nis_file.c: Likewise.
* nis/nis_free.c: Likewise.
* nis/nis_local_names.c: Likewise.
* nis/nis_lookup.c: Likewise.
* nis/nis_modify.c: Likewise.
* nis/nis_print.c: Likewise.
* nis/nis_remove.c: Likewise.
* nis/nis_subr.c: Likewise.
* nis/nis_table.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/yp_xdr.c: Likewise.
* nis/ypclnt.c: Likewise.
* nis/ypupdate_xdr.c: Likewise.
* resolv/res_send.c (send_dg): Cope with failures.
* include/libc-symbols.h: Define hidden attribute macros for
* include/netdb.h: Use libnss_files_hidden_proto for the parsers
defined in libnss_files, not libc_hidden_proto.
* include/netinet/ether.h: Likewise.
* include/rpc/netdb.h: Likewise.
* nss/nss_files/files-parse.c: Use hidden_def in parser definitions
instead of libc_hidden_def.
* nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to
_nss_netgroup_parseline definition.
2004-10-23 Roland McGrath <>
* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early
after an RPC succeeds.
* sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed.
These are now in the ports repository.
* sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise.
* sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise.
* sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise.
* sysdeps/standalone, sysdeps/z8000: Likewise.
2004-10-23 Ulrich Drepper <>
* resolv/res_send.c (send_dg): Combine write and read to socket
into one loop.
2004-10-22 Roland McGrath <>
* Makefile (%.bz2, %.gz): Move these pattern rules ...
* Makerules: ... to here.
2001-10-31 Alexandre Oliva <>
* elf/elf.h: Add R_MN10300_* relocation numbers.
2004-10-22 Paul Eggert <>
[BZ #471] Fix imported from gnulib.
* time/mktime.c (leapyear, ydms_tm_diff): Year is of type
long int, not int, to avoid problems when tm_year == INT_MAX
and tm_mon > 12.
(__mktime_intenral): Compute year using long int arithmetic,
not int arithmetic, to avoid problems on hosts where time_t
and long are 64 bits but int is 32.
[BZ #468] Import a fix from gnulib.
* time/mktime.c [! DEBUG]: Do not include <string.h>.
It's needed only if DEBUG is nonzero.
[BZ #470] Import fix from gnulib.
* time/mktime.c [!_LIBC] (__mktime_internal): Define to
mktime_internal, to avoid clashes with any __mktime_internal
function defined in the standard library.
[BZ #469] Imported from gnulib.
* time/mktime.c (__isleap): Remove; all uses replaced by:
(leapyear): New function, which avoids overflow by not adding
1900 to year before testing whether it is a leap year.
[BZ #472] Imported from gnulib.
* time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX;
no longer used.
2004-10-22 Ulrich Drepper <>
* resolv/res_send.c: Remove compatibility code which is unused in
glibc and probably bitrotten.
* debug/execinfo.h: Remove __THROW from backtrace prototype.
2004-10-22 Jakub Jelinek <>
* sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions.
* sysdeps/i386/backtrace.c: Include <bits/libc-lock.h>, <dlfcn.h>,
<stdlib.h> and <unwind.h>. Remove <bp-checks.h> include.
(struct trace_arg): New type.
(unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New
fn pointers resp. macros.
(init, backtrace_helper): New functions.
(__backtrace): Rewritten to use _Unwind_Backtrace first and fall
back to frame pointer walking.
2004-10-22 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/Versions: Things are still in flux, it
seems. Undo last additions.
2004-10-21 Ulrich Drepper <>
* posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno
2004-10-20 Roland McGrath <>
* Makeconfig ($(common-objpfx)shlib-versions.v.i): Check also
$(config-sysdirs) for shlib-versions files.
* Makeconfig ($(common-objpfx)soversions.i): Replace shell loop with
use of ...
* scripts/soversions.awk: ... this new file. Collect lib info and
match any DEFAULT line before emitting anything, so DEFAULT can come
later in the concatenation of shlib-versions files.
* manual/errno.texi (Error Codes): Add ENOKEY, EKEYEXPIRED,
* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.3.4): New errlist.
* sysdeps/gnu/errlist.c: Regenerated
* sysdeps/gnu/errlist-compat.awk: Don't bail if Versions gives a count
higher than ERR_MAX reports. Instead, emit a #define ERR_MAX.
* sysdeps/gnu/Makefile ($(objpfx)errlist-compat.h): New target.
(generated): Add errlist-compat.h.
* sysdeps/gnu/errlist.awk: Make output #include <errlist-compat.h> to
define ERR_MAX and use that for table size.
2004-10-20 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/syscalls.list: Add entries for setaltroot,
key_add, key_request, and keyctl syscalls.
* sysdeps/unix/sysv/linux/Versions: Export them.
2004-10-19 Roland McGrath <>
* sysdeps/mach/readonly-area.c: New file.
2004-10-19 Ulrich Drepper <>
* elf/Versions [ld, GLIBC_PRIVATE]: Add _dl_debug_state.
* elf/dl-debug.c (_dl_debug_state): Add rtld_hidden_def.
* sysdeps/generic/ldsodefs.h (_dl_debug_state): Don't mark as
hidden but use rtld_hidden_proto.
2004-10-19 Alfred M. Szmidt <>
* sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
(__readonly_area): ... this.
2004-10-18 Jakub Jelinek <>
* sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
destlen only every 4 bytes.
2004-10-19 Ulrich Drepper <>
* nss/getent.c (hosts_keys): Let inet_pton decide whether the
string is an address or not.
2004-10-19 Jakub Jelinek <>
* elf/dl-addr.c (_dl_addr): Don't look at STT_TLS symbols.
Use DL_SYMBOL_ADDRESS to set dli_saddr.
* debug/Makefile (catchsegv): Prefix $LIB with a backslash.
2004-10-19 Ulrich Drepper <>
* debug/Makefile ($(objpfx)catchsegv): To support multilib
platforms, use $LIB in path to slibdir.
2004-10-19 Jakub Jelinek <>
* debug/ Update copyright year.
Use mktemp to create segv_output file.
2004-10-18 Jakub Jelinek <>
* elf/dl-libc.c (__libc_dlsym_private, __libc_register_dl_open_hook):
New functions.
(__libc_dlopen_mode): Call __libc_register_dl_open_hook and
* dlfcn/Makefile (routines, elide-routines.os): Set.
Add rules to build and test tststatic2.
* dlfcn/tststatic2.c: New test.
* dlfcn/modstatic2.c: New test module.
* dlfcn/dladdr.c: Call _dlfcn_hook from if not NULL.
Define __ prefixed routine in libc.a and in libdl.a just call it.
* dlfcn/dladdr1.c: Likewise.
* dlfcn/dlclose.c: Likewise.
* dlfcn/dlerror.c: Likewise.
* dlfcn/dlinfo.c: Likewise.
* dlfcn/dlmopen.c: Likewise.
* dlfcn/dlopen.c: Likewise.
* dlfcn/dlopenold.c: Likewise.
* dlfcn/dlsym.c: Likewise.
* dlfcn/dlvsym.c: Likewise.
* dlfcn/sdladdr.c: New file.
* dlfcn/sdladdr1.c: New file.
* dlfcn/sdlclose.c: New file.
* dlfcn/sdlerror.c: New file.
* dlfcn/sdlinfo.c: New file.
* dlfcn/sdlopen.c: New file.
* dlfcn/sdlsym.c: New file.
* dlfcn/sdlvsym.c: New file.
* dlfcn/Versions (libdl): Export _dlfcn_hook@GLIBC_PRIVATE.
* include/dlfcn.h (DL_CALLER_DECL, DL_CALLER RETURN_ADDRESS): Define.
(struct dlfcn_hook): New type.
(_dlfcn_hook): New extern decl.
(__dlopen, __dlclose, __dlsym, __dlerror, __dladdr, __dladdr1,
__dlinfo, __dlmopen, __libc_dlsym_private,
__libc_register_dl_open_hook, __libc_register_dlfcn_hook): New
(__dlvsym): Use DL_CALLER_DECL.
* include/libc-symbols.h: Define libdl_hidden_proto and friends.
* malloc/arena.c (_dl_open_hook): Extern decl.
(ptmalloc_init): Don't call _dl_addr when dlopened from statically
linked programs but don't use brk for them either.
2004-10-18 Roland McGrath <>
* dlfcn/bug-dlsym1.c (main): Remove bogus setenv call.
2004-10-18 Ulrich Drepper <>
* elf/dl-open.c (dl_open_worker): Avoid dereferencing map in
statically linked code if there might none be found.
2004-10-06 Maciej W. Rozycki <>
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
(__SYSCALL_CLOBBERS): Add "memory".
* sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
* sysdeps/unix/sysv/linux/mips/mips64/n64/sysdep.h
2004-10-17 Ulrich Drepper <>
* include/libc-symbols.h: Define libresolv_hidden_proto and friends.
* include/resolv.h: Add libresolv_hidden_proto for symbols defined,
used, and exported in libresolv.
* resolv/base64.c: Add libresolv_hidden_def.
* resolv/gethnamaddr.c: Likewise.
* resolv/ns_name.c: Likewise.
* resolv/ns_netint.c: Likewise.
* resolv/res_comp.c: Likewise.
* resolv/res_data.c: Likewise.
* resolv/res_debug.c: Likewise.
* resolv/res_mkquery.c: Likewise.
* resolv/res_query.c: Likewise.
* resolv/res_send.c: Likewise.
2004-10-15 Jakub Jelinek <>
* elf/dl-minimal.c (__chk_fail): New. Add rtld_hidden_def.
* sysdeps/unix/sysv/linux/readonly-area.c: New file.
* sysdeps/i386/i686/memmove.S (__memmove_chk): Add checking
* sysdeps/i386/i686/memcpy.S (__memcpy_chk): Likewise.
* sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
* sysdeps/i386/i686/memset.S (__memset_chk): Likewise.
* sysdeps/i386/i686/memmove-chk.S: New file.
* sysdeps/i386/i686/memcpy-chk.S: Likewise.
* sysdeps/i386/i686/mempcpy-chk.S: Likewise.
* sysdeps/i386/i686/memset-chk.S: Likewise.
* sysdeps/generic/strcat-chk.c (__strcat_chk): Don't __chk_fail
if exactly fitting into buffer.
* sysdeps/generic/strncat-chk.c (__strncat_chk): Likewise.
* sysdeps/generic/readonly-area.c: New file.
* sysdeps/generic/strncpy-chk.c (__strncpy_chk): Only test
destlen once.
* sysdeps/x86_64/memset.S (__memset_chk): Add checking routine.
* sysdeps/x86_64/memcpy.S (__memcpy_chk): Likewise.
* sysdeps/x86_64/mempcpy.S (__memcpy_chk): Define to __mempcpy_chk.
* sysdeps/x86_64/memcpy-chk.S: New file.
* sysdeps/x86_64/mempcpy-chk.S: Likewise.
* sysdeps/x86_64/memset-chk.S: Likewise.
* sysdeps/x86_64/strcpy-chk.S: Likewise.
* sysdeps/x86_64/stpcpy-chk.S: Likewise.
* argp/argp-xinl.c (__OPTIMIZE__): Define to 1 instead of nothing.
* argp/argp-fs-xinl.c (__OPTIMIZE__): Likewise.
* debug/tst-chk1.c: New test.
* debug/tst-chk2.c: Likewise.
* debug/tst-chk3.c: Likewise.
* debug/test-strcpy_chk.c: Likewise.
* debug/test-stpcpy_chk.c: Likewise.
* debug/vsprintf_chk.c (__vsprintf_chk): If flags > 0, request
_IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def.
* debug/Makefile (routines): Add printf_chk, fprintf_chk, vprintf_chk,
vfprintf_chk, gets_chk and readonly-area.
(CFLAGS-*_chk.c): Set.
(tests): Add tst-chk1, tst-chk2, tst-chk3, test-strcpy_chk and
* debug/vprintf_chk.c: New file.
* debug/printf_chk.c: Likewise.
* debug/vfprintf_chk.c: Likewise.
* debug/fprintf_chk.c: Likewise.
* debug/gets_chk.c: Likewise.
* debug/chk_fail.c (__chk_fail): Add libc_hidden_def.
* debug/snprintf_chk.c (__snprintf_chk): Fix order of arguments
passed to __vsnprintf_chk.
* debug/Versions (libc): Export __printf_chk, __fprintf_chk,
__vprintf_chk, __vfprintf_chk and __gets_chk @GLIBC_2.3.4.
* debug/vsnprintf_chk.c (__vsnprintf_chk): Don't call
__vsnprintf, instead create a temporary file with
_IO_strn_jumps jumptable. If flags > 0, request
_IO_FLAGS2_CHECK_PERCENT_N. Add libc_hidden_def.
* libio/Makefile (headers): Add bits/stdio2.h.
* libio/stdio.h: Include <bits/stdio2.h> if __USE_FORTIFY_LEVEL.
(sprintf, snprintf, vsprintf, vsnprintf): Remove defines.
* libio/strfile.h (_IO_strnfile): New type.
(_IO_strn_jumps): New extern.
* libio/vsnprintf.c (_IO_strnfile): Remove.
(_IO_strn_jumps): Remove static.
* libio/bits/stdio2.h: New file.
* libio/vswprintf.c (_IO_strnfile): Rename type to...
(_IO_wstrnfile): ...this. Adjust all uses.
* libio/libio.h (_IO_FLAGS2_CHECK_PERCENT_N): Define.
* stdio-common/vfprintf.c (STR_LEN): Define.
(vfprintf): Add readonly_format variable.
(buffered_vfprintf): Copy _flags2.
* include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk,
__vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk,
__vfprintf_chk): New prototypes.
(__vsprintf_chk, __vsnprintf_chk): Add libc_hidden_proto.
* include/string.h (__memcpy_chk, __memmove_chk, __mempcpy_chk,
__memset_chk, __strcpy_chk, __stpcpy_chk, __strncpy_chk, __strcat_chk,
__strncat_chk): New prototypes.
* include/bits/string3.h: New file.
* include/sys/cdefs.h (__chk_fail): Add libc_hidden_proto
and rtld_hidden_proto.
* string/Makefile (headers): Add bits/string3.h.
* string/bits/string3.h (bcopy, bzero): New defines.
(memset, memcpy, memmove, strcpy, strncpy, strcat, strncat): Change
macros so that inlines are used only if unknown destination size
or side-effects in destination argument.
(mempcpy, stpcpy): Likewise. Protect with #ifdef __USE_GNU.
2004-09-16 Ulrich Drepper <>
* debug/Makefile (routines): Add *_chk.
* debug/Versions (libc): Export __chk_fail, __memcpy_chk,
__memmove_chk, __mempcpy_chk, __memset_chk, __stpcpy_chk,
__strcat_chk, __strcpy_chk, __strncat_chk, __strncpy_chk,
__sprintf_chk, __vsprintf_chk, __snprintf_chk, __vsnprintf_chk
* debug/chk_fail.c: New file.
* debug/snprintf_chk.c: Likewise.
* debug/sprintf_chk.c: Likewise.
* debug/vsnprintf_chk.c: Likewise.
* debug/vsprintf_chk.c: Likewise.
* include/features.h (_FORTIFY_SOURCE): Document, handle.
(__GNUC_PREREQ): Move to earlier location.
* include/sys/cdefs.h (__chk_fail): New prototype.
* libio/bits/stdio.h (sprintf, vsprintf, snprintf, vsnprintf):
* misc/sys/cdefs.h (__bos, __bos0): Define.
* string/string.h: Include <bits/string3.h> if __USE_FORTIFY_LEVEL.
* bits/string/string3.h: New header.
* sysdeps/generic/memcpy_chk.c: New file.
* sysdeps/generic/memmove_chk.c: Likewise.
* sysdeps/generic/mempcpy_chk.c: Likewise.
* sysdeps/generic/memset_chk.c: Likewise.
* sysdeps/generic/stpcpy_chk.c: Likewise.
* sysdeps/generic/strcat_chk.c: Likewise.
* sysdeps/generic/strcpy_chk.c: Likewise.
* sysdeps/generic/strncat_chk.c: Likewise.
* sysdeps/generic/strncpy_chk.c: Likewise.
2004-10-17 Roland McGrath <>
* manual/memory.texi (Page Lock Functions): Typo fix.
Reported by Carlos Maziero <>
2004-10-16 Alfred M. Szmidt <>
* sysdeps/mach/hurd/Makefile (link-libc-static): Use
`$(static-gnulib') instead of `$(gnulib)'.
2004-10-17 Ulrich Drepper <>
* sunrpc/rpc_clntout.c: Avoid including rcsid into binary.
* sunrpc/rpc_cout.c: Likewise.
* sunrpc/rpc_hout.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* sunrpc/rpc_parse.c: Likewise.
* sunrpc/rpc_sample.c: Likewise.
* sunrpc/rpc_scan.c: Likewise.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/rpc_tblout.c: Likewise.
* sunrpc/rpc_util.c: Likewise.
2004-10-15 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/i386/sysdep.h (PUSHARGS_6, DOARGS_6,
* sysdeps/unix/sysv/linux/i386/syscall.S (syscall): Handle 6 argument
2004-10-15 Ulrich Drepper <>
* nscd/nscd.h (_PATH_NSCD_PASSWD_DB): Move to /var/db.
(_PATH_NSCD_GROUP_DB): Likewise.
(_PATH_NSCD_HOSTS_DB): Likewise.
(_PATH_NSCD_XYZ_DB_TMP): New #define, point to /var/run.
* nscd/connections.c (nscd_init): Non-persistent database files
are created with the _PATH_NSCD_XYZ_DB_TMP path.
* nscd/nscd.init: Create /var/db/nscd if necessary.
2004-10-15 Richard Henderson <>
* sysdeps/unix/sysv/linux/alpha/register-dump.h: New file.
* sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT): Add
_code argument, pass sigcontext by pointer.
(GET_PC, GET_FRAME, GET_STACK): Expect ctx as pointer.
2004-10-14 Richard Henderson <>
* sysdeps/alpha/dl-machine.h (elf_machine_rela,
elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto
instead of static.
* sysdeps/unix/sysv/linux/adjtime.c (ADJTIME): Use prototype
style definition.
* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): If
__ASSUME_TIMEVAL64, define __adjtime directly rather than
via strong_alias.
2004-10-14 Ulrich Drepper <>
* nscd/Makefile: When using compilers without -fpie support, also
link with -lselinux if necessary.
Patch by Arkadiusz Miskiewicz <>.
* nscd/connections.c (nscd_init): Remove file if not persistent
and not shared. Patch by Jerome Borsboom <>.
2004-10-14 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/i386/setresuid.c: Handle
defined __NR_setresuid32 && !defined __NR_setresuid.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Handle
defined __NR_setresgid32 && !defined __NR_setresgid.
* sysdeps/sparc/fpu/bits/mathinline.h (__signbitf, __signbit,
__signbitl, sqrtf, sqrt, sqrtl, fdim, fdimf): Use __NTH macro.
* sysdeps/generic/errno-loc.c: Don't undef #errno
* include/errno.h (__errno_location): If RTLD_PRIVATE_ERRNO,
add attribute_hidden.
* dlfcn/dlinfo.c (dlinfo_doit): Replace iteration over GL(dl_loaded)
chain with iteration over all namespaces' _ns_loaded chains.
* sysdeps/powerpc/powerpc32/dl-machine.c (__elf_preferred_address):
* sysdeps/mips/dl-machine.h (elf_machine_runtime_link_map): Likewise.
* elf/rtld.c (_dl_start): Fix one last dl_loaded.
* elf/dl-load.c (_dl_map_object_from_fd): Avoid definition of
label when it is not needed.
* elf/dl-close.c (_dl_close): Typo: & -> &&.
2004-10-12 Jakub Jelinek <>
* sysdeps/generic/segfault.c: Include alloca.h and stdint.h.
Don't include frame.h.
(catch_segfault): Use backtrace function.
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Fix comment.
* sysdeps/unix/sysv/linux/ia64/register-dump.h: New file.
* sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (GET_PC): Return sc_ip
2004-10-13 Ulrich Drepper <>
Add support for namespaces in the dynamic linker.
* dlfcn/Makefile (libdl-routines): Add dlmopen.
* dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
* dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
Declare dlmopen. Document RTLD_DI_LMID.
* dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
* dlfcn/dlmopen.c: New file.
* dlfcn/dlopen.c: Pass new parameter to _dl_open.
* dlfcn/dlopenold.c: Likewise.
* elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
* elf/dl-caller.c: Likewise.
* elf/dl-close.c: Likewise.
* elf/dl-conflict.c: Likewise.
* elf/dl-debug.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-sym.c: Likewise.
* elf/dl-version.c: Likewise.
* elf/do-lookup.h: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
* elf/dl-depsc: Likewise. Add new parameter to _dl_map_object.
* elf/dl-fini.c: Call destructors in all namespaces.
* elf/dl-iteratephdr.c: Compute total nloaded. Adjust for removal of
* elf/dl-libc.c: Pass new parameter to _dl_open. Adjust for removal
of GL(dl_loaded).
* elf/dl-load.c (_dl_map_object_from_fd): Don't load a second
time. Reuse the one from the main namespace in all others.
Pass new parameter to _dl_new_object.
Adjust for removal of GL(dl_loaded).
* elf/dl-object.c: Take new parameter. Use it to initialize l_ns.
Adjust for removal of GL(dl_loaded).
* elf/dl-open.c (_dl_open): Take new parameter.
Adjust for removal of GL(dl_loaded).
* elf/dl-support.c: Replace global _dl_loaded etc variables with
_dl_ns variable.
* include/dlfcn.h: Adjust prototype of _dl_open.
Define __LM_ID_CALLER.
* include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
* sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS. Since libc is
using TLS we need memory appropriate to the number of namespaces.
* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
_dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
_dl_global_scope_alloc with _dl_ns element. Define DL_NNS.
Adjust prototypes of _dl_map_object and member in rtld_global_ro.
* malloc/malloc.c: Include <dlfcn.h>.
* malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
never use brk.
* elf/Makefile: Add rules to build and run tst-dlmopen1 and
* elf/tst-dlmopen1.c: New file.
* elf/tst-dlmopen1mod.c: New file.
* elf/tst-dlmopen2.c: New file.
* elf/dl-close.c: Improve reference counting by tracking direct loads.
* elf/dl-lookup.c (add_dependency): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise.
* elf/rtld.c (dl_main): Likewise.
2004-09-09 GOTO Masanori <>
[BZ #77]
* elf/dl-close.c: Count down l_opencount to check not only for
l_reldeps, but also l_initfini.
2004-10-13 Ulrich Drepper <>
* elf/dl-close.c (_dl_close): Update bug reporting instructions.
2004-10-11 Ulrich Drepper <>
* timezone/asia: Update from tzdata2004e.
* timezone/southamerica: Likewise.
* timezone/private.h: Update from tzcode2004e.
* timezone/zdump.c: Likewise.
* stdio-common/vfscanf.c: Add support for reading localized
digits. Patch mainly by Hamed Malek <>.
* resolv/res_init.c (res_thread_freeres): Reset _res.options.
[BZ #434]
* resolv/res_send.c (send_dg): Use nonblocking sockets. Add
appropriate poll/select calls and restart operation if necessary.
Also handle EINTR.
* elf/tst-dlopenrpath.c (do_test): Enable code which was disabled
for debugging.
* elf/dl-sym.c (do_sym): Avoid using global variable.
* elf/dl-addr.c (_dl_addr): Really use match everywhere.
2004-10-09 Andreas Schwab <>
* sysdeps/m68k/memcopy.h (WORD_COPY_BWD): Remove use of cast as
* sysdeps/m68k/fpu/bits/mathinline.h: Remove __THROW from inline
2004-10-07 Andreas Schwab <>
* misc/sys/uio.h: Change __vector to __iovec to avoid clash with
2004-10-06 Alan Modra <>
* gmon/Makefile (CFLAGS-mcount.c): Move before inclusion of "Rules".
* sysdeps/powerpc/powerpc64/Makefile (CFLAGS-mcount.c): Add
* sysdeps/powerpc/powerpc64/sysdep.h (SAVE_ARG, REST_ARG): New macros.
(CALL_MCOUNT): Replace with a gas macro implementation.
(EALIGN): Delete PROF version.
* sysdeps/powerpc/powerpc64/__longjmp-common.S: Invoke CALL_MCOUNT.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Likewise.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc64/memcpy.S: Likewise.
* sysdeps/powerpc/powerpc64/memset.S: Likewise.
* sysdeps/powerpc/powerpc64/stpcpy.S: Likewise.
* sysdeps/powerpc/powerpc64/strchr.S: Likewise.
* sysdeps/powerpc/powerpc64/strcmp.S: Likewise.
* sysdeps/powerpc/powerpc64/strcpy.S: Likewise.
* sysdeps/powerpc/powerpc64/strlen.S: Likewise.
* sysdeps/powerpc/powerpc64/strncmp.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_ceil.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_floor.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_floorf.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_llround.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_rint.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_rintf.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_round.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_roundf.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_trunc.S: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_truncf.S: Likewise.
* sysdeps/powerpc/powerpc64/setjmp-common.S: Add extra entry point
past _mcount call.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S: Use it.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S: Likewise.
2004-10-06 Ulrich Drepper <>
* resolv/res_mkquery.c (res_nmkquery): Reject randombits value if
low 16 bits are zero.
2004-10-06 Jakub Jelinek <>
* posix/tst-getaddrinfo2.c: Include stdlib.h and string.h.
(do_test): Use %p instead of 0x%08X to print a pointer.
* malloc/malloc.c: Include stdio-common/_itoa.h.
2004-10-05 Ulrich Drepper <>
* elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf
for prelink message.
2004-10-05 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include dl-sysdep.h.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
2004-10-05 Ulrich Drepper <>
* grp/initgroups.c: Remove duplicate group IDs.
* grp/compat-initgroups.c: Likewise.
* nscd/initgrcache.c: Likewise.
2004-10-05 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/x86_64/sysconf.c (__sysconf): Return 200112L
* nscd/Makefile (nscd-cflags): Set to -DIS_IN_nscd=1, plus
-fpie if building PIE.
(CFLAGS-*.c): Use it.
* nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
($(objpfx)nscd): Add $(relro-LDFLAGS).
* sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
(__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
2004-10-05 Ulrich Drepper <>
* nscd/Makefile (distribute): Remove TODO.
* nscd/TODO: Removed.
2004-10-04 Ulrich Drepper <>
* nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
defined and __ASSUME_NETLINK_SUPPORT is zero.
* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
* malloc/ Avoid calling location unless it is needed for
output. Patch by Edward Bishop <>.
* nscd/Makefile (CFLAGS-gai.c): Add -fpie.
2004-10-04 H.J. Lu <>
* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
(clock_getcpuclockid): Add missing retval.
* sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo.
2004-10-04 Roland McGrath <>
* include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
to rtld_errno.
* sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
and don't define any other errno names.
* sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
place of errno.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/x86_64/sysdep.S: Likewise.
* sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
attribute instead of `section'.
2004-10-04 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
* sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
testing code to...
* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: New file.
* sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
* nscd/connections.c (start_threads): Use sysconf in case
* nscd/Makefile (nscd-modules): Add gai.
* nscd/gai.c: New file.
* nscd/nscd.c: Remove getaddrinfo stub definition.
* assert/assert.h: Give up on using __builtin_expect.
* elf/rtld.c (dl_main): Only skip => output in ldd mode if both
strings are identical.
2004-03-18 Jakub Jelinek <>
* malloc/arena.c (aligned_heap_area): New variable.
(new_heap): If aligned_heap_area != NULL, attempt to use that
first. If HEAP_MAX_SIZE << 1 area is already HEAP_MAX_SIZE bytes
aligned, remember the second half in aligned_heap_area.
(delete_heap): Clear aligned_heap_area if deleting the area right
before aligned_heap_area.
2004-10-03 Juerg Billeter <>
* nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd
can't be used. [BZ #424]
2004-10-03 Ulrich Drepper <>
Dynamically create new threads if necessary.
* nscd/connections.c (fd_ready): If no thread available for processing
the request, create a new one unless the limit is reached.
(start_threads): Check errors from pthread_create.
* nscd/nscd.h: Declare max_nthreads.
* nscd/nscd_conf.c: Parse max-nthreads entry.
* nscd/nscd.conf: Add max-threads entry.
* nscd/nscd_stat.c: Print current and maximum number of threads.
Implement paranoia mode.
* nscd/connections.c (nscd_init): Mark database and socket descriptors
as close on exec.
(restart): New function.
(restart_p): New function.
(nscd_run): Add missing descrement of nready in case readylist is
(main_loop_poll): Call restart_p and restart.
(main_loop_epoll): Likewise.
(begin_drop_privileges): Save original UID and GID.
* nscd/nscd.c: Define new variables paranoia, restart_time,
restart_interval, oldcwd, old_gid, old_uid.
(main): Disable paranoia mode if we are not forking.
(check_pid): When re-execing, the PID file contains the same PID as
the current process. Do not fail in this case.
* nscd/nscd.conf: Add paranoia and restart-interval entries.
* nscd/nscd.h: Define RESTART_INTERVAL. Declare new variables.
* nscd/nscd_conf.c: Parse paranoia and restart-internal configurations.
* nscd/nscd_stat.c: Print paranoia and restart-internal values.
* nscd/connections.c: Implement alternative loop for main thread
which uses epoll.
* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
(CFLAGS-connections.c): Add -DHAVE_EPOLL.
2004-10-02 Ulrich Drepper <>
* nscd/Makefile (CFLAGS-initgrcache.c): Add to CFLAGS-* variables,
don't replace old content.
* nscd/connections.c: Rewrite handling of incoming connections. All
are handled by one thread which then hands off the descriptors for the
real work to the worker threads.
* nscd/Makefile: Link nscd with librt.
* nscd/selinux.c: Pretty printing.
* nscd/dbg_log.c (dbg_log): Don't add unnecessary newline to
output. Let syslog do the formatting if debug_level == 0.
* nscd/nscd_helper.c (get_mapping): No need to check timestamp if
nscd_certainly_running is nonzero.
2004-10-02 Simon Josefsson <>
[BZ #420]
* sysdeps/generic/memmem.c [!_LIBC]: Define __builtin_expect, to
make the file usable inside gnulib.
2004-10-01 Ulrich Drepper <>
* malloc/malloc.c (public_vALLOc): Add missing use of hooks.
(public_pVALLOc): Likewise.
* nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
group the caller provided unless there is a real problem.
* posix/bug-glob1.c (prepare): Fix creation of symlink.
2004-09-30 Ulrich Drepper <>
* posix/Makefile: Add rules to build and run bug-glob1.
* posix/bug-glob1.c: New file.
* iconv/iconv_prog.c (main): Print progress information to stderr.
* nscd/nscd.c (termination_handler): Reset timestamp so that
clients immediately stop using the database.
* nscd/nscd-client.h (__nscd_get_map_ref): Drop volatile from last
(__nscd_drop_map_ref): Change second parameter to be a reference to
a variable. Update variable when cycle count changed.
* nscd/nscd_helper.c (__nscd_get_map_ref): Remove volatile here, too.
* nscd/nscd_getai.c: Correctly use __nscd_drop_map_ref. Reinitialize
all variables and avoid memory leak in case of retries.
* nscd/nscd_getgr_r.c: Likewise.
* nscd/nscd_gethst_r.c: Likewise.
* nscd/nscd_getpw_r.c: Likewise.
* nscd/nscd_initgroups.c: Likewise.
* nscd/nscd.h: Add declaration of addinitgroups and
2004-09-30 Andreas Jaeger <>
* nscd/Makefile (CFLAGS-nscd_initgroups.c): Set to -fpie.
(CFLAGS-initgrcache.c): Set to -fexceptions.
2004-09-29 Ulrich Drepper <>
* sysdeps/generic/glob.c (glob_in_dir): Don't blindly trust
readdir results; for symlinks or files of unknown type check using
stat whether the file exists.
* posix/tst-gnuglob.c (find_file): Handle leading "./". Fix
recognition of files.
2004-09-29 Jakub Jelinek <>
* time/tzfile.c (tzfile_mtime): New variable.
(__tzfile_read): Reread the file if mtime is different.
2004-09-28 Jakub Jelinek <>
* sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim):
Handle +inf/+inf.
* sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
* sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
2004-09-29 Ulrich Drepper <>
* nscd/nscd_gethst_r.c (nscd_gethst_r): Use correct constant for
testing result of __nscd_get_map_ref.
2004-09-29 Jakub Jelinek <>
* sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf.
* sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise.
* sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise.
004-09-29 Ulrich Drepper <>
* grp/initgroups.c: Move compat_call implementation...
* grp/compat-initgroups.c: here. New file.
* grp/Makefile (distribute): Add compat-initgroups.c.
(CFLAGS-initgroups.c): Add -DUSE_NSCD=1.
* mscd/initgrcache.c: New file.
* nscd/nscd_initgroups.c: New file.
* nscd/Makefile (routines): Add nscd_initgroups.
(nscd-modules): Add initgrcache.
* nscd/cache.c (prune_cache): Add support for INITGROUPS entries.
* nscd/connections.c: Handle INITGROUPS requests.
* nscd/nscd-client.h: Define INITGROUPS, initgr_response_header.
Add initgrdata element to struct datahead. Fix typo in comment.
* nscd/nscd_proto.h: Declare __nscd_getgrouplist. Fix parameter
type in __nscd_getgrgrid_r.
* nscd/selinux.c (perms): Add INITGROUPS entry.
* nscd/nscd_getai.c: No need to include <sys/mman.h>.
* sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without
assigned addresses.
* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
* sunrpc/clnt_udp.c (is_network_up): Likewise.
* nscd/nscd.c: Define getaddrinfo hidden so that it is never found
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_segvflags):
Renamed from si_flags due to conflict with si_flags from <elf.h>.
2004-09-28 Ulrich Drepper <>
* nscd/nscd_getai.c: Use NO_MAPPING instead of MAP_FAILED for test
of failing __nscd_get_map_ref. Fix a few typos.
* sysdeps/unix/sysv/linux/sigwait.c (do_sigwait): Make sure
SIGSETXID is not blocked.
* sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Likewise.
* sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Likewise.
* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Likewise.
* sysdeps/generic/sigfillset.c (sigfillset): Don't set SIGSETXID.
* sunrpc/get_myaddr.c (get_myaddress): Fix test for failing
getifaddrs call.
* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise.
* sunrpc/Makefile (xtests): Add tst-getmyaddr.
* sunrpc/tst-getmyaddr.c: New file.
* malloc/arena.c (ptmalloc_init): Allow MALLOC_CHECK_==0 to
disable all checking.
* sysdeps/unix/sysv/linux/ia64/bits/siginfo.h (si_flags): Add
support to get this value.
2004-09-28 Jakub Jelinek <>
* io/utime.h (utime): Allow second argument to be NULL.
2004-09-28 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If NAME is a numerical IP
address and AI_CANONNAME is set, return copy of NAME as ai_canonname.
2004-09-27 Andreas Jaeger <>
* sysdeps/i386/dl-machine.h (elf_machine_rela_relative): Replace
static inline by auto inline, add always_inline attribute.
(elf_machine_rel): Likewise.
(elf_machine_rela): Likewise.
(elf_machine_lazy_rel): Likewise.
(elf_machine_lazy_rela): Likewise.
(elf_machine_rel_relative): Likewise.
2004-09-27 Ulrich Drepper <>
* sunrpc/xdr_intXX_t.c: Add xdr_quad_t and xdr_u_quad_t aliases.
* sunrpc/rpc/xdr.h: Declare xdr_quad_t and xdr_u_quad_t.
* sunrpc/rpc_parse.c (get_type): Use "quad_t" for TOK_HYPER.
Otherwise isvectordef will loop infinitely if typedef hyper int64_t
is seen.
(unsigned_dec): Use "u_quad_t" for similar reasons.
* sunrpc/Versions: Export xdr_quad_t and xdr_u_quad_t.
2004-09-27 Roland McGrath <>
* sysdeps/generic/bits/waitstatus.h (__WIFSIGNALED): Simplify bit
twiddling in last change.
* posix/tst-waitid.c (do_test): Add tests for waitpid with WCONTINUED.
[BZ #409]
* posix/sys/wait.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
* stdlib/stdlib.h [__WIFCONTINUED] (WIFCONTINUED): New macro.
* sysdeps/generic/bits/waitstatus.h (__W_CONTINUED): New macro.
(__WIFSIGNALED): Rewritten to exclude __W_CONTINUED value, and have no
* sysdeps/unix/sysv/linux/waitid.c (do_waitid): Add fifth argument to
all three syscall uses, not just one!
2004-09-26 Richard Henderson <>
* sysdeps/alpha/alphaev6/memcpy.S: Mark .prologue.
* sysdeps/unix/alpha/sysdep.h (LEAF, ENTRY): Align entry points
to 16 byte boundaries.
2004-09-26 Ulrich Drepper <>
* elf/readlib.c (process_file): Before complaining about too-short
file, check that it potentially be an ELF file. Also complain about
empty files. [BZ #151].
* scripts/ Fix recognition for new
Patch by <> [BZ #407].
* elf/dl-support.c (_dl_non_dynamic_init): Fix cleaning of
environment. [BZ #384]
* sunrpc/clnt_udp.c (is_network_up): Use getifaddrs instead of ioctl.
* sunrpc/get_myaddr.c (get_myaddress): Likewise.
* sunrpc/pmap_clnt.c (__get_myaddress): Likewise.
* sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. Change interface
to avoid buffer overrun and remove now useless parameters.
(clnt_broadcast): Adjust caller. [BZ #381].
* sysdeps/generic/s_fdim.c: Handle +inf/+inf
* sysdeps/generic/s_fdimf.c: Likewise.
* sysdeps/generic/s_fdiml.c: Likewise.
* sysdeps/i386/i686/fpu/s_fdim.S: Likewise.
* sysdeps/i386/i686/fpu/s_fdimf.S: Likewise.
* sysdeps/i386/i686/fpu/s_fdiml.S: Likewise.
* sysdeps/powerpc/fpu/s_fdim.c: Likewise.
* sysdeps/powerpc/fpu/s_fdimf.c: Likewise.
* sysdeps/x86_64/fpu/s_fdiml.S: Likewise.
* math/ (fdim_test): Add test case. [BZ #376].
* sysdeps/generic/bits/types.h: Fix __SQUAD_TYPE and __UQUAD_TYPE
for compilers without __GLIBC_HAVE_LONG_LONG. [BZ #362]
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Remove incorrect
requirement on socktype and protocol.
(gaih_inet): If numeric port number is given, return records for all
possible socket types.
* posix/tst-getaddrinfo2.c: New file.
* posix/Makefile (tests): Add tst-getaddrinfo2. [BZ #358]
2004-09-25 Ulrich Drepper <>
* locale/loadlocale.c (_nl_intern_locale_data): Recognize LC_CTYPE
data where _nl_value_type_LC_CTYPE does not contain the type
information. Add range checks.
Reported by John Lumby <> [BZ #356].
* libio/vasprintf.c (_IO_vasprintf): Fix condition to decide
whether to realloc or not.
Reported by Pavel Kankovsky <> [BZ #346].
* intl/dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
* intl/dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
decided < 0.
* intl/finddomain.c (_nl_find_domain): Likewise.
* intl/loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
are done. First set to -1 to signal initialization is ongoing.
Protect against concurrent callers with recursive lock.
* intl/finddomain.c (_nl_find_domain): Protect calls to
_nl_make_l10nflist. [BZ #322]
* sysdeps/posix/getaddrinfo.c (getaddrinfo): If determinination of
source address fails, initialized source_addr_len field so that
duplicate address recognition does not copy junk.
2004-09-25 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/i386/setuid.c (__setuid): Remove second
result declaration.
2004-09-22 Andreas Schwab <>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Adjust whitespace.
2004-09-24 Ulrich Drepper <>
* misc/daemon.c (daemon): Don't succeed if /dev/null cannot be
* nis/ypclnt.c (do_ypcall): Add one missing unlock. Simplify the
code a bit.
* misc/daemon.c (daemon): Define errno in case /dev/null is not
the correct device.
* nis/ypclnt.c (yp_bind_file): Optimize a bit. Minimal cleanups.
2004-09-23 Andreas Jaeger <>
* locale/weight.h (findidx): Remove static, it's not supported
anymore with GCC 4.0 in a block scope.
* locale/weightwc.h (findidx): Likewise.
* posix/regcomp.c (seek_collating_symbol_entry): Likewise.
(lookup_collation_sequence_value): Likewise.
(build_range_exp): Likewise.
(build_collating_symbol): Likewise.
* iconv/iconvconfig.c (write_output): Likewise.
* elf/do-rel.h (elf_dynamic_do_rel): Likewise.
* sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove
static, add always_inline attribute.
(elf_machine_rela): Likewise.
(elf_machine_lazy_rel): Likewise.
* elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend
on !RESOLVE so that it's not defined in local scope.
2004-09-23 Kaz Kojima <>
* sysdeps/unix/sysv/linux/sh/sysdep.h (INTERNAL_SYSCALL_NCS): Define.
2004-09-23 Thorsten Kukuk <>
* sysdeps/unix/sysv/linux/sys/mount.h: Sync MS_RMT_MASK flag
and BLK* ioctls with linux kernel headers.
2004-09-23 Ulrich Drepper <>
* sysdeps/generic/bits/dlfcn.h: Add RTLD_DEEPBIND.
* elf/dl-object.c (_dl_new_object): Add new parameter mode. If mode
has RTLD_DEEPBIND set add local searchlist before global scope.
* sysdeps/generic/ldsodefs.h (_dl_new_object): Adjust prototype.
* elf/rtld.c: Adjust callers of _dl_new_object.
* elf/dl-load.c: Likewise.
(_dl_map_object_from_fd): If RTLD_DEEPBIND is used, don't do anything
* elf/dl-open.c (dl_open_writer): Pass RTLD_DEEPBIND flag on to
* elf/tst-deep1.c: New file.
* elf/tst-deep1mod1.c: New file.
* elf/tst-deep1mod2.c: New file.
* elf/tst-deep1mod3.c: New file.
* elf/Makefile: Add rules to build and run new tests.
* elf/dl-deps.c: Pretty printing.
2004-09-23 Jakub Jelinek <>
* sysdeps/unix/alpha/sysdep.h (inline_syscall[0-6]): Change name
argument to numbers from syscall names.
(INLINE_SYSCALL1): Pass __NR_##name to inline_syscall##nr.
(INTERNAL_SYSCALL_NCS): Renamed from...
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
* sysdeps/unix/sysv/linux/sparc/sysdep.h (inline_syscall[0-6]):
Change name argument to numbers from syscall names.
2004-09-22 Ulrich Drepper <>
* malloc/malloc.c (malloc_printerr): Use syslog if writev failed.
* string/string.h: Add __nonnull annotations.
* stdlib/stdlib.h: Likewise.
2004-09-20 H.J. Lu <>
* sysdeps/unix/sysv/linux/ia64/sysdep.h (DO_INLINE_SYSCALL):
Renamed to ...
2004-09-21 Ulrich Drepper <>
* elf/sprof.c (load_shobj): Add support for reading symbol table
from debuginfo file.
* elf/ Fix syntax errors.
2004-09-20 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/dl-execstack.c
(_dl_make_stack_executable): Remove some duplication.
* nscd/nscd.c (options): Mark S option as hidden.
(parse_opt): When S option is used, print warning message.
* nscd/grpcache.c (adgrptbyX): Don't handle secure mode.
* nscd/hstcache.c (addhstbyX): Don't handle secure mode.
* nscd/aicache.c (addhstaiX): Don't handle secure mode.
* nscd/pwdcache.c (addpwbyX): Don't handle secure mode.
2004-09-20 Roland McGrath <>
* elf/dl-load.c (__stack_prot): Only use PROT_GROWSUP/PROT_GROWSDOWN
in initializer #if defined.
2004-09-18 Paul Eggert <>
[BZ #391]
* stdlib/getsubopt.c: Merge fixes from gnulib.
(__strchrnul) [!_LIBC]: Define and include "strchrnul.c".
(getsubopt): Use prototypes, not K&R style.
Fix bug: memcmp(A,B,N) was being invoked on a memory block B
whose size might be smaller than N. Use strncmp to avoid the bug.
2004-09-20 Ulrich Drepper <>
* If selinux has not explictly been requested, don't
comment on it missing.
* elf/dl-load.c: Define __stack_prot.
* sysdeps/unix/sysv/linux/dl-execstack.c: Don't define
__stack_prot here, just declare it.
2004-09-20 Jakub Jelinek <>
* (libc_cv_z_relro): Only set to yes if linker script
2004-09-20 Ulrich Drepper <>
* elf/dl-load.c (_dl_map_object_from_fd): Add some error checking.
Reorder code slightly.
* elf/rtld.c (dl_main): No need to check whether l_info[DT_HASH]
is non-null, _dl_setup_hash will do that.
2004-09-19 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/setegid.c [HAVE_PTR__NPTL_SETXID]: Call
callback to set IDs in all other threads as well.
* sysdeps/unix/sysv/linux/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/setuid.c: New file.
* sysdeps/unix/sysv/linux/setgid.c: New file.
* sysdeps/unix/sysv/linux/setreuid.c: New file.
* sysdeps/unix/sysv/linux/setregid.c: New file.
* sysdeps/unix/sysv/linux/setresuid.c: New file.
* sysdeps/unix/sysv/linux/setresgid.c: New file.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NCS.
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: Use x86 version.
* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove setresgid
and setresuid.
* nscd/aicache.c: Use pthread_seteuid_np instead of seteuid.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c: Likewise.
* nscd/pwdcache.c: Likewise.
* resolv/res_mkquery.c (res_nmkquery): Fix typo.
2004-09-18 Ulrich Drepper <>
* sysdeps/unisx/sysv/linux/dl-execstack.c: Get protection flag
from memory.
* elf/dl-load.c (_dl_map_object_from_fd): Add PROT_EXEC flag to
* sysdeps/posix/getaddrinfo.c (gaih_inet): Do not use
gethostbyname3_r if we are not looking for the canonical name.
* resolv/res_mkquery.c (res_nmkquery): Randomize request ID every
2004-09-18 Roland McGrath <>
* sysdeps/unix/sysv/linux/waitid.c (do_waitid): Pass fifth argument to
system call.
2004-09-17 Ulrich Drepper <>
* include/link.h (struct link_map): Add l_used element.
* sysdeps/generic/ldsodefs.h: Define DL_DEBUG_UNUSED.
* elf/rtld.c (process_dl_debug): Recognize unused.
(dl_main): When unused debug flag is set check for unused direct
When printing dependencies and SONAME starts with /, omit the SONAME =>
* elf/dl-lookup.c (_dl_lookup_symbol_x): Mark object in which the
symbol has been found as used.
* elf/ Add -u option.
2004-09-18 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread):
Do nothing if __NR_set_tid_address is not defined. [BZ #390]
2004-09-17 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c: Use gethostbyname3_r NSS function
in case it is available.
2004-09-17 Jakub Jelinek <>
* nscd/nscd.c (parse_opt): Write arg string instead of (void *)
key to the socket.
2004-09-17 Ulrich Drepper <>
* misc/sys/cdefs.h: Define __nonnull using nonnull function attribute
for gcc 3.3 and higher.
* io/fcntl.h: Add __nonnull where appropriate.
* io/ftw.h: Likewise.
* io/utime.h: Likewise.
* io/sys/poll.h: Likewise.
* io/sys/sendfile.h: Likewise.
* io/sys/stat.h: Likewise.
* io/sys/statfs.h: Likewise.
* io/sys/statvfs.h: Likewise.
* posix/unistd.h: Likewise.
* catgets/nl_types.h: Likewise.
* crypt/crypt.h: Likewise.
* debug/execinfo.h: Likewise.
2004-09-16 Ulrich Drepper <>
* posix/glob.h: Remove cruft to make header usable outside glibc.
The maintenance headache is too big.
* Add test for required SELinux features.
* Add have-selinux entry.
* Add HAVE_SELINUX entry.
* nscd/Makefile (nscd-modules): Add selinux.
(CFLAGS-selinux.c): Add -fpie.
Define selinux-LIBS and use in link line.
* nscd/connections.c (handle_request): Check access SELinux permissions
before processing request.
* nscd/nscd.c (main): Initialize selinux_enabled and stop avc thread.
* nscd/nscd_stat.c: Transmit and print AVC statistics.
* nscd/selinux.c: New file.
* nscd/selinux.h: New file.
Patch mostly by Matthew Rickard <>.
2004-09-16 Jakub Jelinek <>
* nscd/nscd_helper.c (__nscd_unmap, get_mapping): Use __munmap
instead of munmap.
* nscd/Makefile (CFLAGS-aicache.c): Set to -fpie.
2004-09-16 Thorsten Kukuk <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Check
__nss_not_use_nscd_hosts variable if nscd should be used or not.
2004-09-16 Ulrich Drepper <>
* nscd/nscd_proto.h: Define NSS_NSCD_RETRY.
Add __nscd_getai prototype.
* nss/getXXbyYY_r.c: Remode definition of NSS_NSCD_RETRY.
* nscd/nscd-client.h: Remove __nscd_getai prototype.
* nscd/nscd_getai.c: Include nscd_proto.h.
* elf/ Add support for SELinux environments.
Patch by Stephen Smalley <>.
2004-09-16 Roland McGrath <>
* (--with-headers): Let argument contain a : separated
list of directories to use, not just one.
* configure: Regenerated.
2004-09-15 Richard Henderson <>
* sysdeps/alpha/fpu/libm-test-ulps: Update.
* scripts/data/ New file.
2004-09-15 Ulrich Drepper <>
* nscd/aicache.c: Prefer using gethostbyname3_r NSS callback to also
get ttl and canonical name. Use these two values.
* resolv/Versions: Export _nss_dns_gethostbyname3_r from libnss_dns.
* resolv/nss_dns/dns-host.c (getanswer_r): Take two new parameters.
If nonnull fill with TTL and pointer to canonical name respectively.
(_nss_dns_gethostbyaddr_r): Pass NULL in new parameters of getanswer_r.
(_nss_dns_gethostbyname2_r): Just wrapper around
(_nss_dns_gethostbyname3_r): Renamed from _nss_dns_gethostbyname2_r.
Take two new parameters which as passed to getanswer_r.
* nscd/Makefile (rountines): Add nscd_getai.
(nscd-modules): Add aicache.
* nscd/aicache.c: New file.
* nscd/nscd_getai.c: New file.
* nscd/cache.c (prune_cache): Handle GETAI request type.
* nscd/connections.c: Add GETAI support in request handling.
* nscd/nscd-client.h (request_type): Add GETAI.
Define ai_response_header and struct nscd_ai_result types.
(struct datahead): Add aidata field.
Declare __nscd_getai.
* nscd/nscd.c: Add getaddrinfo definition to catch problems.
* nscd/nscd.h: Declare addhstai and readdhstai.
* sysdeps/posix/getaddrinfo.c: Add support for using cached results.
* posix/Makefile (CFLAGS-getaddrinfo.c): Add -DUSE_NSCD.
* nscd/nscd-client.h (struct datahead): Use uint8_t instead of bool.
2004-09-14 Ulrich Drepper <>
* misc/sys/cdefs.h: Remove debugging text from __P and __PMT.
2004-09-13 Ulrich Drepper <>
* misc/sys/cdefs.h: Restore old definition of __P.
* csu/munch.awk: Remove uses of __P and __PMT.
* gmon/gmon.c: Likewise.
* hesiod/hesiod.h: Likewise.
* include/stdio.h: Likewise.
* io/fts.c: Likewise.
* libio/genops.c: Likewise.
* libio/libioP.h: Likewise.
* libio/fileops.c: Likewise.
* libio/iolibio.h: Likewise.
* libio/libio.h: Likewise.
* libio/memstream.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/oldstdfiles.c: Likewise.
* libio/iopopen.c: Likewise.
* libio/vsnprintf.c: Likewise.
* libio/vswprintf.c: Likewise.
* libio/wgenops.c: Likewise.
* libio/oldiopopen.c: Likewise.
* locale/programs/xmalloc.c: Likewise.
* locale/programs/xstrdup.c: Likewise.
* malloc/mtrace.c: Likewise.
* misc/getttyent.c: Likewise.
* misc/getusershell.c: Likewise.
* nis/rpcsvc/ypupd.h: Likewise.
* posix/fnmatch.h: Likewise.
* posix/glob.h: Likewise.
* resolv/arpa/nameser.h: Likewise.
* resolv/gethnamaddr.c: Likewise.
* resolv/resolv.h: Likewise.
* resolv/inet_net_ntop.c: Likewise.
* resolv/inet_net_pton.c: Likewise.
* resolv/res_init.c: Likewise.
* resolv/nss_dns/dns-network.c: Likewise.
* stdio-common/vfprintf.c: Likewise.
* stdio-common/reg-printf.c: Likewise.
* sysdeps/generic/chflags.c: Likewise.
* sysdeps/generic/fchflags.c: Likewise.
* sysdeps/generic/glob.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* sysdeps/generic/memcmp.c: Likewise.
* sysdeps/generic/memcopy.h: Likewise.
* sysdeps/generic/morecore.c: Likewise.
* sysdeps/generic/sstk.c: Likewise.
* sysdeps/posix/sigvec.c: Likewise.
* sysdeps/posix/ttyname_r.c: Likewise.
* sysdeps/standalone/arm/bits/errno.h: Likewise.
* sysdeps/standalone/standalone.h: Likewise.
* sysdeps/standalone/i386/force_cpu386/brdinit.c: Likewise.
* sysdeps/standalone/i386/force_cpu386/_exit.c: Likewise.
* sysdeps/unix/arm/start.c: Likewise.
* sysdeps/unix/bsd/sigaction.c: Likewise.
* sysdeps/unix/bsd/sun/m68k/sigtramp.c: Likewise.
* sysdeps/unix/bsd/sun/sparc/sigtramp.c: Likewise.
* sysdeps/unix/bsd/sun/sunos4/wait4.c: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/sigvec.c: Likewise.
* sysdeps/unix/bsd/ultrix4/sysconf.c: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/sysv/getdents.c: Likewise.
* sysdeps/unix/sysv/irix4/fpathconf.c: Likewise.
* sysdeps/unix/sysv/irix4/getgroups.c: Likewise.
* sysdeps/unix/sysv/irix4/getpriority.c: Likewise.
* sysdeps/unix/sysv/irix4/getrusage.c: Likewise.
* sysdeps/unix/sysv/irix4/pathconf.c: Likewise.
* sysdeps/unix/sysv/irix4/setgroups.c: Likewise.
* sysdeps/unix/sysv/irix4/sigtramp.c: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/unix/sysv/irix4/sysconf.c: Likewise.
* sysdeps/unix/sysv/sco3.2.4/__setpgid.c: Likewise.
* sysdeps/unix/sysv/sco3.2.4/getgroups.c: Likewise.
* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/__setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/sethostname.c: Likewise.
* sysdeps/unix/sysv/sysv4/setsid.c: Likewise.
* sysdeps/unix/sysv/sysv4/sysconf.c: Likewise.
* sysdeps/unix/sysv/sysv4/waitpid.c: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/getdents.c: Likewise.
* time/tzset.c: Likewise.
* time/strftime_l.c: Likewise.
* time/strptime_l.c: Likewise.
* crypt/md5.h: Likewise.
2004-09-13 Andreas Jaeger <>
* Support GCC 4.x.
* configure: Regenerated.
2004-09-13 Thorsten Kukuk <>
* nscd/nscd_stat.c: Don't access dbs[cnt].head for disabled services.
* nscd/nscd.init: Fix path to socket.
2004-09-12 Ulrich Drepper <>
* nscd/nscd_helper.c (get_mapping): Correctly check cmsg length.
Avoid file descriptor leak in case of size mismatch.
* nscd/nscd-client.h: Fix database structure layout for biarch.
* nscd/mem.c (gc): Add casts to avoid warnings.
* nss/getent.c: Don't preconstruct help message. Do it only when
* locale/programs/locale.c: Simplify help message printing.
2004-09-12 Roland McGrath <>
* sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]: Add decls
missing in last change.
2004-09-11 Thorsten Kukuk <>
* nis/nss_compat/compat-grp.c: Check that buflen is greater zero
before writing data into the buffer with negative offset.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c Likewise.
2004-09-12 Ulrich Drepper <>
* misc/syslog.c (vsyslog): Fix copying of PID in case of
out-of-memory situation. [BZ #365].
* sysdeps/alpha/fpu/bits/mathinline.h: Use __NTH instead of
__THROW in inline function definitions.
* posix/spawn.h [__USE_GNU]: Define POSIX_SPAWN_USEVFORK.
* posix/spawnattr_setflags.c: Check whether any unknown bit is set
in FLAGS parameter and fail if this is the case.
* sysdeps/posix/spawni.c: Use vfork if POSIX_SPAWN_USEVFORK flag is
* nscd/pwdcache.c (cache_addpw): Sync also negative results to disk.
* nscd/grpcache.c (cache_addgr): Likewise.
* nscd/hstcache.c (cache_addhst): Likewise.
2004-09-11 Roland McGrath <>
* sysdeps/mach/hurd/i386/init-first.c (init1) [! SHARED]:
Set _dl_phdr and _dl_phnum.
(init1): When bootstrap task, bail early and never examine *D.
2004-09-11 Alfred M. Szmidt <>
* sysdeps/mach/hurd/i386/tls.h (__i386_set_gdt) [!HAVE_I386_SET_GDT]:
Cast THR, SEL and DESC to `void'.
2004-09-11 Ulrich Drepper <>
* nscd/connections.c (nscd_run): Call setup_thread only for enabled
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Use __NTH for __cmsg_nxthdr.
2004-09-10 Ulrich Drepper <>
* nscd/nscd.c (pagesize_m1): New variable.
(main): Initialize it.
* nscd/nscd.h: Declare pagesize_m1.
* nscd/hstcache.c: Pass correctly aligned address to msync.
* nscd/grpcache.c: Likewise.
* nscd/pwdcache.c: Likewise.
2004-09-10 Kaz Kojima <>
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Decrement
__nwaiters. If pthread_cond_destroy has been called and this is
the last waiter, signal pthread_cond_destroy caller and avoid
using the pthread_cond_t structure after unlock.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Likewise.
2004-09-10 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/kernel-features.h: Don't define
2004-09-10 Jakub Jelinek <>
* misc/sys/cdefs.h (__REDIRECT_NTH): Change order of __THROW and
__asm__ for C++. [BZ #377]
2004-09-10 Ulrich Drepper <>
* nscd/nscd_stat.c: Improve output by also printing .shared and
* nscd/connections.c: Allow cache sharing to be really disabled.
2004-09-10 Jakub Jelinek <>
* malloc/malloc.c (_int_free): Only do arena boundary check for
contiguous arenas.
2004-09-10 Kazuhiro Inaoka <>
* stdlib/longlong.h [__M32R__] (add_ssaaaa, sub_ddmmss): Fix broken
instruct operands.
* elf/elf.h: Add R_M32R_* relocs.
2004-09-09 Ulrich Drepper <>
* misc/sys/cdefs.h: Despite what the gcc manual says, gcc 3.2
seems not to support the nothrow attribute. Use it only for gcc
3.3 and higher.
* malloc/hooks.c (top_check): Print top chunk corruption as normal
error message.
* malloc/malloc.c (malloc_printerr): Don't make informational
message look like error message.
2004-09-09 Andreas Jaeger <>
* nscd/Makefile (CFLAGS-nscd_setup_thread.c): Set to -fpie.
2004-09-08 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/socket.h (__SCM_CONNECT): Removed.
* malloc/malloc.c (_int_free): Add inexpensive double free and
memory corruption tests.
(malloc_printf_nc): Renamed to malloc_printerr. Second parameter
is no format string anymore. Don't use stdio. Adjust all callers.
* malloc/hooks.c: Adjust malloc_printf_nc callers.
2004-09-08 Roland McGrath <>
* malloc/mcheck.c: Don't use __P.
Use prototypes definitions for static functions.
2004-09-08 Ulrich Drepper <>
* sysdeps/ia64/fpu/bits/mathinline.h: Use __NTH instead of __THROW.
2004-09-08 Ulrich Drepper <>
Jakub Jelinek <>
* nscd/nscd-client.h: Add a few #includes.
* nscd/Makefile (nscd-modules): Add nscd_setup_thread.
* nscd/connections.c (nscd_run): Call setup_thread for maintenance
* nscd/nscd-client.h (struct database_pers_head): Add
nscd_certainly_running field.
* nscd/nscd.h: Declare setup_thread.
* nscd/nscd_helper.c (__nscd_get_map_ref): Avoid the time test if
nscd_certainly_running is nonzero.
* sysdeps/generic/nscd_setup_thread.c: New file.
* sysdeps/unix/sysv/linux/nscd_setup_thread.c: New file.
2004-09-08 Ulrich Drepper <>
* nscd/connections.c: Implement r/o sharing of nscd's cache with client
processes via shared memory.
* nscd/nscd-client.h: Likewise.
* nscd/nscd.h: Likewise.
* nscd/nscd_conf.c: Likewise.
* nscd/nscd_getgr_r.c: Likewise.
* nscd/nscd_getpw_r.c: Likewise.
* nscd/nscd_gethst_r.c: Likewise.
* nscd/nscd.conf: Add new config parameters.
* nscd/Makefile (aux): Add nscd_helper.
* nscd/nscd_helper.c: New file.
* nscd/mem.c (gc): Indicate beginning and end of the gc cycle.
* nscd/hstcache.c: Simplify a lot. We cache only the request itself,
no derived information.
* connections.c (nscd_init): Fix bug in testing size of the persistent.
* nis/Makefile (aux): Add nis_hash.
* nis/nis_hash.c: New file. Split out from nis_util.c.
* nis/nis_util.c: Move __nis_hash code in separate file.
* csu/tst-atomic.c: Improve atomic_increment_val test which would
not have found a ppc bug.
* sysdeps/s390/fpu/bits/mathinline.h: Remove unnecessary includes.
* malloc/arena.c: Remove __MALLOC_P uses.
* malloc/malloc.c: Likewise.
* malloc/mtrace.c: Remove __P uses.
* malloc/mcheck-init.c: Likewise.
2004-09-07 Jakub Jelinek <>
* sysdeps/powerpc/powerpc64/ New file.
* sysdeps/powerpc/powerpc64/sysdep.h: Formatting.
HAVE_ASM_GLOBAL_DOT_NAME or no dot symbols,
USE_PPC64_OVERLAPPING_OPD or never overlapping .opd entries.
* sysdeps/powerpc/powerpc64/dl-machine.h: Include sysdep.h.
(TRAMPOLINE_TEMPLATE, RTLD_START): Use the new sysdep.h macros.
2004-09-07 Ulrich Drepper <>
* malloc/malloc.h: Don't define __THROW if it is already defined.
* sysdeps/powerpc/bits/atomic.h (atomic_increment): Define.
(atomic_decrement): Define.
* sysdeps/powerpc/bits/atomic.h: Implement atomic_increment_val and
* sysdeps/powerpc/powerpc32/bits/atomic.h: Likewise.
* sysdeps/powerpc/powerpc64/bits/atomic.h: Likewise.
* csu/tst-atomic.c (do_test): Add tests of atomic_increment_val
and atomic_decrement_val.
* include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
and atomic_delay is not already defined.
* sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
* sysdeps/x86_64/bits/atomic.h: Likewise.
* miscd/sys/cdefs.h (__NTH): New macro.
(__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
(__REDIRECT_NTH): New macro.
* argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
* ctype/ctype.h: Likewise.
* dirent/dirent.h: Likewise.
* io/fcntl.h: Likewise.
* io/sys/sendfile.h: Likewise.
* io/sys/stat.h: Likewise.
* io/sys/statfs.h: Likewise.
* io/sys/statvfs.h: Likewise.
* libio/bits/stdio.h: Likewise.
* misc/sys/mman.h: Likewise.
* posix/unistd.h: Likewise.
* resource/sys/resource.h: Likewise.
* rt/aio.h: Likewise.
* signal/signal.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/argz.h: Likewise.
* string/string.h: Likewise.
* sysdeps/generic/inttypes.h: Likewise.
* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.
* resolv/gethnamaddr.c (getanswer): Remove __P use in variable
* io/sys/poll.h: Remove __THROW from poll prototype, it's a
cancellation point.
* io/fts.c (fts_open): Remove uses of __P.
* include/stdlib.h: No need to use __THROW in this header.
2004-09-06 Roland McGrath <>
* sysdeps/mach/hurd/dl-sysdep.c (__writev): Does use assert on FD
validity, since __assert_fail gets to here anyway. Just fail.
2004-09-06 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Fix problem with
AF_UNSPEC lookup with AI_CANONNAME of name which has only IPv6
2004-09-05 Richard Henderson <>
* sysdeps/alpha/fpu/fraiseexcpt.c: Remove file.
* sysdeps/unix/sysv/linux/kernel-features.h
* sysdeps/unix/sysv/linux/alpha/fraiseexcpt.c: New file.
* sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h: New file.
* sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S: Use it.
* sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S: Likewise.
2004-09-05 Richard Henderson <>
* sysdeps/alpha/div.S: Save and restore FPCR around fp operations.
* sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S,
sysdeps/alpha/ldiv.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S,
sysdeps/alpha/remqu.S: Likewise.
* sysdeps/alpha/div_libc.h (FRAME): Increase to 64.
2004-09-05 Ulrich Drepper <>
* nscd/cache.c (cache_add): Correctly log GETHOSTBYADDR and
2004-09-04 Ulrich Drepper <>
* nscd/pwdcache.c (cache_addpw): Use correct key length in
cache_add calls.
* nscd/grpcache.c (cache_addgr): Likewise.
2004-09-03 Alfred M. Szmidt <>
* sysdeps/mach/hurd/i386/tls.h (THREAD_DTV): Changed type of _DTV
to `dtv_t *'.
2004-09-03 Ulrich Drepper <>
* nscd/nscd.c (parse_opt): Use writev instead of two write for
invalidate command.
2004-09-02 Ulrich Drepper <>
* nscd/connections.c (nscd_run): Check early for invalid request types.
2004-09-02 Roland McGrath <>
* sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
(INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
(THREAD_SELF): New macro.
2004-09-02 Steven Munroe <>
[BZ #357]
* stdlib/tst-setcontext.c (test_stack): Added test for stack clobber.
(main): Call test_stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
(__getcontext): Push stack frame then save parms in local frame.
Improve instruction scheduling.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
(__swapcontext): Likewise.
2004-09-01 Andreas Schwab <>
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h [g++ >= 3.5]: Use
2004-09-01 Jakub Jelinek <>
[BZ #361]
* posix/fnmatch_loop.c (FCT): For backslash between brackets, branch
to normal_bracket after fetching the next character.
* posix/tst-fnmatch.input: Add 25 new tests.
Reported by Markus Oberhumer <>.
2004-09-01 Ulrich Drepper <>
* elf/rtld.c (dl_main): First check existence of
with access.
2004-09-01 Roland McGrath <>
* sysdeps/unix/sysv/linux/bits/waitflags.h
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_WAITID_SYSCALL):
New macro.
* sysdeps/unix/sysv/linux/waitid.c: New file. Use new syscall when
available, or fall back to the waitpid-based generic code.
2004-08-14 Alfred M. Szmidt <>
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Let gcc
clobber the `ebp' register.
* sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
Reverts change from 2004-05-07 by Jeroen Dekkers.
* sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
NEWSP from `void *' to `int *'. Changed all casts accordingly.
2004-08-31 Jakub Jelinek <>
* wcsmbs/wcsmbsload.c (__wcsmbs_getfct): Move attribute_hidden
before return type.
* locale/localename.c (__current_locale_name): Likewise.
2004-08-30 Roland McGrath <>
* scripts/extract-abilist.awk: If `lastversion' variable defined, omit
later sets from output.
* Makerules (check-abi): Pass option to set that with value of
LIB-abi-frozen variable if one is set.
* abilist/libcidn.abilist: New file (empty).
2004-08-30 Jakub Jelinek <>
* posix/bits/posix1_lim.h (_POSIX_CHILD_MAX, _POSIX_OPEN_MAX): If
not __USE_XOPEN2K, use the Unix98 mandated values.
2004-08-27 Roland McGrath <>
* (usetls): Default to yes.
* configure: Regenerated.
2004-08-26 Roland McGrath <>
* (add_ons_automatic): New variable, set to yes or no
indicating --enable-add-ons with no explicit list.
(running add-on fragments): Allow a fragment to modify $libc_add_on
and have that affect its place in the list of add-ons to use.
* configure: Regenerated.
2004-08-26 Ulrich Drepper <>
* nscd/cache.c: Major rewrite. The data is now optionally kept in
a mmaped memory region which is automatically mirrored on disk.
This implements persistent data storage. The Memory handled
needed to be completely revamped, it now uses a garbage collection
mechanism instead of malloc.
* nscd/connections.c: Likewise.
* nscd/nscd.c: Likewise.
* nscd/nscd.h: Likewise.
* nscd/nscd_conf.c: Likewise.
* nscd/nscd_stat.c: Likewise.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c:: Likewise.
* nscd/pwdcache.c:: Likewise.
* nscd/Makefile: Add rules to build mem.c.
* nscd/mem.c: New file.
* nscd/nscd.conf: Describe new configuration options.
2004-08-26 Kaz Kojima <>
* sysdeps/unix/sysv/linux/mips/pread.c: Include sgidefs.h only if
NO_SGIDEFS_H isn't defined.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/sh/pread.c: Define NO_SGIDEFS_H and
* sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.
2004-08-26 Ulrich Drepper <>
* nscd/connections.c (nscd_run): atomic_increment was not missing.
* sysdeps/gnu/Makefile (libdl-sysdep_routines): Don't add eval.
Patch by Greg Schafer.
2004-08-25 Richard Henderson <>
* sysdeps/alpha/elf/start.S (_start): Use $15 as frame unwind
instead of $31. Zero $15.
* sysdeps/unix/sysv/linux/alpha/clone.S (thread_start): Likewise.
2004-08-25 Ulrich Drepper <>
* sysdeps/powerpc/powerpc64/bits/atomic.h
(__arch_compare_and_exchange_bool_32_acq): Fix case where oldval
is negative.
(__arch_compare_and_exchange_bool_32_rel): Likewise.
* nscd/connections.c: Make socket nonblocking so that threads
don't get stuck on accept. Fix locking.
* nscd/grpcache.c (cache_addgr): Use copy of original key in hash
entry with alternative key.
* nscd/pwdcache.c (cache_addpw): Likewise.
2004-08-25 Richard Sandiford <>
* sysdeps/mips/dl-machine.h (_dl_start_user): Don't set
2004-08-23 Ulrich Drepper <>
* sysdeps/gnu/netinet/udp.h: Cosmetic changes. Remove unnecessary
2004-08-23 Andreas Jaeger <>
[BZ #341]
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (O_NOATIME): Define.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/cris/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_NOATIME): Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (O_NOATIME): Likewise.
2004-08-21 Ulrich Drepper <>
* malloc/hooks.c (DEFAULT_CHECK_ACTION): Moved to malloc.c.
(check_action): Likewise.
When printing error messages, use malloc_printf_nc now instead of
fiddling with the streams cancellation flag in every place.
* malloc/malloc.c (DEFAULT_CHECK_ACTION): New definition. Change
default to 3.
(check_action): New variable.
(unlink): Print error message and eventually terminate in case list
is corrupted.
(malloc_printf_nc): New function. Use it in _int_free.
Change proposed by Arjan van de Ven.
* dlfcn/Makefile: Don't build eval.c anymore.
2004-08-20 Roland McGrath <>
* csu/Makefile ($(objpfx)version-info.h): Use printf in place
of echo -e for POSIX.2 portability.
Reported by Paul Jarc <>.
2004-08-19 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Minor optimizations in
list generation.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use
getcanonname_r function if AI_CANONNAME flag is not set in
* nis/nss_compat/compat-initgroups.c (getgrent_next_nss):
Initialize mysize with limits only if latter is >= 0. Use mysize
in malloc call.
2004-08-19 Jakub Jelinek <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Cast canon to (char *)
to avoid warning.
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Initialize
2004-08-19 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Use h->h_name in the
cannoname lookup since it has the FQDN even if the original NAME
value has not.
2004-08-18 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Store NAME parameter
pointer in new variable ORIG_NAME and use this pointer when
determination of canonical name failed, not the possibly IDN
translated value of NAME.
2004-08-17 Ulrich Drepper <>
* resolv/resolv.h (RES_DEFAULT): Add RES_NOIP6DOTINT.
* resolv/res_init.c (res_setoptions): Recognize ip6-dotint option.
Reset RES_NOIP6DOTINT flag in this case..
* sysdeps/posix/getaddrinfo.c: Fix memory handling of
2004-08-16 Ulrich Drepper <>
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Don't use
CNAME records, we better follow the chain of CNAME records which
can be accomplished with A/AAAA lookups.
2004-08-15 Roland McGrath <>
* sysdeps/unix/sysv/linux/bits/resource.h (enum __rusage_who):
Remove __RUSAGE_BOTH constant and RUSAGE_BOTH macro.
* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2004-08-15 Roland McGrath <>
* sysdeps/i386/i686/Makefile (elide-routines.os): Append hp-timing to
this, not ...
(static-only-routines): ... this.
* sysdeps/ia64/Makefile: Likewise.
* sysdeps/sparc/sparc32/sparcv9/Makefile: Likewise.
* sysdeps/sparc/sparc64/Makefile: Likewise.
* sysdeps/x86_64/Makefile: Likewise.
* sysdeps/i386/i686/hp-timing.c: Revert copyright terms change.
* sysdeps/ia64/hp-timing.c: Likewise.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
* csu/elf-init.c: Update copyright terms including special exception
for these trivial files, which are statically linked into executables
that use dynamic linking for the significant library code.
* io/fstat.c: Likewise.
* io/fstat64.c: Likewise.
* io/lstat.c: Likewise.
* io/lstat64.c: Likewise.
* io/stat.c: Likewise.
* io/stat64.c: Likewise.
* stdlib/atexit.c: Likewise.
* sysdeps/alpha/elf/initfini.c: Likewise.
* sysdeps/alpha/elf/start.S: Likewise.
* sysdeps/arm/elf/start.S: Likewise.
* sysdeps/cris/elf/start.S: Likewise.
* sysdeps/generic/initfini.c: Likewise.
* sysdeps/generic/mknod.c: Likewise.
* sysdeps/hppa/elf/initfini.c: Likewise.
* sysdeps/hppa/elf/start.S: Likewise.
* sysdeps/i386/elf/start.S: Likewise.
* sysdeps/i386/i686/hp-timing.c: Likewise.
* sysdeps/ia64/elf/initfini.c: Likewise.
* sysdeps/ia64/elf/start.S: Likewise.
* sysdeps/ia64/hp-timing.c: Likewise.
* sysdeps/m68k/elf/start.S: Likewise.
* sysdeps/mach/start.c: Likewise.
* sysdeps/mips/elf/start.S: Likewise.
* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
* sysdeps/powerpc/powerpc64/elf/start.S: Likewise.
* sysdeps/s390/s390-32/elf/start.S: Likewise.
* sysdeps/s390/s390-32/initfini.c: Likewise.
* sysdeps/s390/s390-64/elf/start.S: Likewise.
* sysdeps/s390/s390-64/initfini.c: Likewise.
* sysdeps/sh/elf/initfini.c: Likewise.
* sysdeps/sh/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/sparcv9/hp-timing.c: Likewise.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
* sysdeps/sparc/sparc64/hp-timing.c: Likewise.
* sysdeps/standalone/i386/start.S: Likewise.
* sysdeps/standalone/i960/start.S: Likewise.
* sysdeps/standalone/m68k/m68020/start.S: Likewise.
* sysdeps/unix/arm/start.c: Likewise.
* sysdeps/unix/bsd/osf/alpha/start.S: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/start.c: Likewise.
* sysdeps/unix/sysv/aix/start.s: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/x86_64/elf/initfini.c: Likewise.
* sysdeps/x86_64/elf/start.S: Likewise.
2004-08-15 Roland McGrath <>
[BZ #227]
* sysdeps/unix/sysv/linux/kernel-features.h
* sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk)
[! __ASSUME_BRK_PAGE_ROUNDED]: Adjust the break up if it falls within
the partial page after the dynamic linker's own data segment.
2004-08-15 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Optimize generation of
v4-mapped addresses a bit.
(gethosts): Move alloca out of macro, so that it is done only once.
* sysdeps/posix/getaddrinfo.c (gaih_addrtuple): Change type of
addr to avoid casts.
(gethosts): Removed.
(gethosts2): Renamed to gethosts. Make it usable for family !=
(gaih_inet): Remove use of old gethosts. Always use what used to be
gethosts2. If entry is found, try to use the same NSS module's
getcanonname_r function. Use gethostbyaddr for AI_CANONNAME only
if getcanonname_r was not available. Fix filtering of AI_V4MAPPED
addresses. Numerous cleanups.
* resolv/nss_dns/dns-canon.c: New file.
* resolv/Makefile (libnss_dns-routines): Add dns-canon.
* resolv/Versions (libnss_dns): Add _nss_dns_getcanonname_r.
* elf/Makefile: Add rules to build and run tst-dlopenrpath.
* elf/tst-dlopenrpath.c: New file.
* elf/tst-dlopenrpathmod.c: New file.
* intl/ Adjust for change of de.po file to UTF-8.
* intl/tst-gettext.c: Likewise.
* nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses.
* nss/getent.c: Allow queries for getaddrinfo with AF_INET and
2004-08-14 Ulrich Drepper <>
* po/de.po: Update from translation team.
2004-08-14 Roland McGrath <>
* sysdeps/mach/configure: Regenerated.
* sysdeps/mach/hurd/configure: Regenerated.
2004-08-14 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (getaddrinfo): If RFC3484 sorting is
performed, make sure it is still the first entry after sorting
that has the ai_canonname information.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Really set ai_canonname
only in one entry.
2004-08-13 Daniel Jacobowitz <>
* scripts/output-format.sed: Handle default case of three-argument
* sysdeps/arm/machine-gmon.h (mcount_internal): Mark as
2004-08-13 Ulrich Drepper <>
* nss/getent.c (ahosts_keys): ai_canonname is NULL for all but the
first returned entry. Print name only if not NULL.
* nis/nss_nis/nis-netgrp.c: Remove locking by using data in struct
__netgrent object passed in instead of global variables.
* nis/nss_nisplus/nisplus-netgrp.c: Remove locking by using data
in struct __netgrent object passed in instead of global variables.
* inet/netgroup.h (struct __netgrent): Add service_user field.
Move cursor in anonymous union, add new field location to that
* inet/getnetgrent_r.c: Extensive rewrite to really enable
concurrent uset of set/get/endnetgrent and innetgr.
Reported by Chuck Simmons.
* inet/netgroup.h (struct name_list): Replace name pointer with
zero-sized array.
* inet/getnetgrent_r.c: Adjust code for change in name_list
layout. Numerous strdup and free calls removed.
* elf/sprof.c (read_symbols): When comparing aliases, prefer
non-hidden over hidden symbols and strong over weak symbols
if both don't start with '_'.
* malloc/malloc.c: Use strong_alias instead of weak_alias wherever
2004-08-12 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
RUSAGE_ enums as __RUSAGE_ and adjust macros accordingly.
* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise.
Define non-standard RLIMIT_ enums as __RLIMIT_ and adjust macros
2004-08-11 Andreas Schwab <>
* resolv/res_libc.c: Move definition of __res_initstamp ...
* resolv/res_init.c: ... here.
2004-08-10 GOTO Masanori <>
* locale/C-time.c: Change default ERA value from NULL to "".
* locale/tst-C-locale.c: Add test case for ERA keywords.
2004-08-12 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/resource.h: Define non-standard
RLIMIT__ enums as __RLIMIT_ and adjust macros accordingly.
* sysdeps/unix/sysv/linux/alpha/bits/resource.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise.
2004-08-12 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/bits/resource.h (RLIMIT_SIGPENDING,
* sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_SIGPENDING,
* sysdeps/unix/sysv/linux/sparc/bits/resource.h (RLIMIT_SIGPENDING,
* sysdeps/unix/sysv/linux/mips/bits/resource.h (RLIMIT_SIGPENDING,
2004-08-12 Jakub Jelinek <>
* resolv/res_query.c (__libc_res_nsearch): Protect the debugging
printf with #ifdef DEBUG and RES_DEBUG check.
* sysdeps/unix/sysv/linux/bits/shm.h: Move __END_DECLS after
__USE_MISC #endif.
* sysdeps/generic/bits/shm.h: Add __BEGIN_DECLS for __getpagesize
* sysdeps/gnu/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/shm.h: Likewise.
2004-08-12 Ulrich Drepper <>
* po/ca.po: Update from translation team.
2004-08-11 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/bits/shm.h: Add __BEGIN_DECLS for
__getpagesize declaration.
2004-08-11 Roland McGrath <>
* (libc_cv_cpp_asm_debuginfo): Add missing braces around
commands inside &&.
Reported by Andreas Schwab <>.
* configure: Regenerated.
* posix/tst-waitid.c (do_test): Ignore SIGCHLD before cleanup SIGKILL.
2004-08-11 Ulrich Drepper <>
* time/tzset.c (tzset_internal): Add new parameter which is
nonzero if called through tzset. Use TZDEFAULT name including
name comparison if the new parameter is zero. This means implicit
tzset calls will not cause files to be opened and read by tzfile.c
all the time.
2004-08-11 Jakub Jelinek <>
* rt/tst-timer2.c (do_test): If timer_create fails, just continue.
* rt/tst-timer4.c (do_test): If one of the timer_create calls fails,
return 1 immediately.
* time/tzfile.c (__tzfile_read): Free transitions only if it will
not be reused.
* sysdeps/ieee754/dbl-64/mpa.c: Include <sys/param.h>.
* sysdeps/ieee754/dbl-64/mpa.h (MAX, MIN): Macros removed.
* stdio-common/tst-popen.c: Include <string.h>.
* resolv/res_send.c (__libc_res_nsend): Only define TMPBUF #if DEBUG.
* sysdeps/pthread/aio_misc.c (handle_fildes_io): Remove noreturn
attribute. Return NULL instead of calling pthread_exit at the end.
2004-08-11 Roland McGrath <>
* iconvdata/testdata/ISO-2022-JP-3: Regenerated.
2004-08-10 Alfred M. Szmidt <>
* sysdeps/generic/bits/in.h (struct ip_mreq): Remove definition.
2004-08-10 Jakub Jelinek <>
* libio/bits/stdio.h (fread_unlocked): Cast 0 to (size_t).
(fwrite_unlocked): When checking if size * n is <= 8, cast each
argument to size_t individually. Cast n to (void) instead of
(size_t), surround with (), return (size_t) 0 if one of n or size
is 0. [BZ #316]
* stdio-common/Makefile (tests): Add tst-unlockedio.
* stdio-common/tst-unlockedio.c: New test.
2004-08-09 Roland McGrath <>
* manual/install.texi (Supported Configurations): Replace bug-glibc
mention with web URL.
* INSTALL: Regenerated.
* locale/iso-3166.def: Likewise, in comment.
* locale/iso-4217.def: Likewise.
* locale/iso-639.def: Likewise.
* posix/cpio.h: Remove bug reporting comment.
2004-08-09 Ulrich Drepper <>
* libio/bits/stdio.h (fread_unlocked): Add a couple of (size_t)
casts to handle funny calls with floating point argument values
and signed values correctly and without warning.
(fwrite_unlocked): Likewise. [BZ #309]
* malloc/memusage.c (me): Use creat64, not creat.
* malloc/memusagestat.c: Fix handling of very large sizes. [BZ #285]
Patch by Guy Maor <>.
* elf/ldconfig.c (options): Mark parameter option names as
translatable. [BZ #253] Patch by Jakub Bogusz <>.
* iconv/gconv_charset.h (strip): Also allow comma which is what is
used to separate options. [BZ #194]
2004-08-09 Roland McGrath <>
* Refer to web pages instead of bug-glibc.
* FAQ: Regenerated.
* time/strptime_l.c: #include <stdbool.h>, `bool' used in last change.
2004-08-09 Ulrich Drepper <>
* time/tzset.c (tzset_internal): If TZ is not set do not compare
old and new tz value since it might be /etc/localtime in both
cases although the file changed. [BZ #154]
Patch by Christian Franke <>.
* time/tzfile.c (__tzfile_read): Determine dev/ino of file.
Compare with values of previously opened file. Don't do anything
is they match.
2004-08-08 Ulrich Drepper <>
* elf/dl-load.c (_dl_map_object): If __RTLD_CALLMAP flag is set,
reset loader before the actual loading.
* elf/dl-open.c (dl_open_worker): If file name contains no path
element determine map of caller. Pass caller map in this case to
_dl_map_object. Set __RTLD_CALLMAP in mode.
* include/dlfcn.h (__RTLD_CALLMAP): Define. [BZ #116]
Patch by Greg Wolodkin <>.
* misc/syslog.c (openlog_internal): Always try both UDP and TCP.
[BZ #108] Patch mainly by Bjorn Andersson <>.
* Also recognize i786. [BZ #106]
Patch by <>.
* resolv/res_query.c (__libc_res_nsearch): Correctly test whether
name contains any dots. [BZ #95]
* resolv/res_send.c: Compiling with DEBUG defined works again.
* resolv/gethnamaddr.c (dprintf): Renamed to Dprintf. Adjust all
* resolv/tst-leaks.c (TIMEOUT): Define so that if no server is
available the process is not killed. [BZ #41]
* intl/tst-gettext.c (main): Improve some messages. [BZ #33]
* time/strptime_l.c (__strptime_internal): Fix handling of %Ey.
[BZ #28]
* po/sv.po: Update from translation team.
2004-08-07 Ulrich Drepper <>
* inet/netinet/in.h: Add more const to the setipv4soucefilter,
getsourcefilter, and setsourcefilter parameter list.
* sysdeps/generic/setipv4sourcefilter.c: Likewise.
* sysdeps/generic/getsourcefilter.c: Likewise.
* sysdeps/generic/setsourcefilter.c: Likewise.
* sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise.
* sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise.
* sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise.
* po/tr.po: Update from translation team.
2004-08-06 Ulrich Drepper <>
* iconvdata/jisx0213.h (jisx0213_added_in_2004_p): Fix typo.
Reported by Paolo Bonzini.
2004-08-06 Jakub Jelinek <>
* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add
* sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_runtime_setup,
elf_machine_fixup_plt, elf_machine_plt_conflict): Likewise.
* sysdeps/unix/sysv/linux/netatalk/at.h: Include bits/sockaddr.h
before including linux/atalk.h.
* resolv/res_libc.c: Include atomic.h.
* intl/finddomain.c (free_mem): Rename to...
(_nl_finddomain_subfreeres): ... this. Add
* intl/loadmsgcat.c (_nl_unload_domain): Add
* intl/gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
Add attribute_hidden.
(_nl_findomain_subfreeres): New prototype.
* iconv/gconv_db.c (free_mem): Call _nl_findomain_subfreeres.
2004-07-30 Guido Guenther <>
* nss/getent.c (passwd_keys): Use strtoul instead of isdigit to
test if the key is numeric or not.
(group_keys): Likewise.
2004-08-05 Ulrich Drepper <>
* inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE,
struct group_filter, and GROUP_FILTER_SIZE.
* include/sys/socket.h: Declare __getsockopt.
* sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file.
* sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file.
* sysdeps/unix/sysv/linux/setsourcefilter.c: New file.
* sysdeps/unix/sysv/linux/getsourcefilter.c: New file. [BZ #211]
* po/ko.po: Update from translation team.
2004-08-04 Jakub Jelinek <>
* hesiod/hesiod.c (__hesiod_res_get): Use calloc instead of malloc +
(__hesiod_res_set): Free nsaddrs.
* include/resolv.h (__res_maybe_init): Add prototype.
* resolv/resolv.h (struct __res_state): Add _u._ext.initstamp field.
* resolv/Versions (libc): Add __res_maybe_init@@GLIBC_PRIVATE.
* resolv/res_libc.c (__res_initstamp, lock): New variables.
(res_init): Increase __res_initstamp.
(__res_maybe_init): New function.
* resolv/res_init.c (__res_vinit): Initialize _u._ext.initstamp.
* hesiod/hesiod.c (__hesiod_res_get): Use __res_maybe_init instead
of RES_INIT check and {res_ninit,__res_ninit,res_init} call.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Likewise.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r,
_nss_dns_gethostbyaddr_r): Likewise.
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r,
_nss_dns_getnetbyaddr_r): Likewise.
* resolv/gethnamaddr.c (gethostbyname, gethostbyname2,
gethostbyaddr): Likewise.
* resolv/res_data.c (fp_nquery, res_mkquery, res_mkupdate,
res_isourserver, res_sendsigned, res_update, res_search,
res_querydomain): Likewise.
* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Likewise.
* nss/digits_dots.c (__nss_hostname_digits_dots): Likewise.
* nss/getnssent_r.c (__nss_setent, __nss_endent, __nss_getent_r):
2004-08-05 Ulrich Drepper <>
* sysdeps/posix/getaddrinfo.c (gaih_inet): Set ai_family for
V4-mapped IPv6 addresses and req->ai_family==AF_INET.
Reported by A. Guru <>.
* po/sv.po: Update from translation team.
* po/sk.po: Likewise.
* po/pl.po: Likewise.
2004-08-04 Jakub Jelinek <>
Ulrich Drepper <>
* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Don't read more input
characters than necessary.
2004-08-05 Ulrich Drepper <>
* wcsmbs/Makefile (tests): Add tst-mbsrtowcs.
* wcsmbs/tst-mbsrtowcs.c: New file.
* po/fr.po: Update from translation team.
2004-08-04 Jakub Jelinek <>
* resolv/inet_pton.c (inet_pton4): Disallow octal numbers. Reported
by A. Guru <>. [BZ #295]
2004-08-05 Ulrich Drepper <>
* po/nl.po: Update from translation team.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Recognize all the IPv4
numeric address formats inet_addr knows.
(getaddrinfo): Allow AI_NUMERICSERV flag.
If neither IPv4 nor IPv6 interface is present we cannot make any
decision for AI_ADDRCONFIG. Fail if AI_NUMERICSERV is set and the
string is not just a number. Remove useless freeaddrinfo call.
* resolv/netdb.h (AI_NUMERICSERV): Define.
Based on a patch by
2004-08-04 Jakub Jelinek <>
* stdlib/strfmon_l.c (__vstrfmon_l): Memset whole info structure
instead of trying to initialize some, but not all, fields one by
* stdio-common/printf_size.c (printf_size): Initialize fb_info
structure with *info instead of trying to initialize some, but not
all, fields from it.
* nscd/connections.c (handle_request): Check if req->type is in
LASTDBREQ .. LASTREQ range instead of req.
* locale/programs/linereader.c (lr_create): Initialize
lr->return_widestr to 0.
* elf/dl-close.c (free_slotinfo): Add __libc_freeres_fn_section.
(free_mem): Call free_slotinfo just once.
* stdio-common/tst-fmemopen.c (main): Check for MAP_FAILED instead
of NULL.
* locale/localeinfo.h (_nl_locale_subfreeres): New prototype.
* locale/setlocale.c (free_category): Add __libc_freeres_fn_section.
(free_mem): Rename to _nl_locale_subfreeres.
* iconv/gconv_db.c: Include locale/localeinfo.h.
(free_derivation, free_modules_db): Add __libc_freeres_fn_section.
(free_mem): Call _nl_locale_subfreeres.
* iconv/gconv_dl.c (do_release_all): Add __libc_freeres_fn_section.
2004-08-04 Roland McGrath <>
* Makeconfig ($(common-objpfx)config.status):
Fix typo: $(add_ons) -> $(add-ons).
(Makeconfig-add-on): New variable. When doing $(sysdep-makeconfigs)
include, use black magic to get it set to an add-on's name during the
include of the add-on's Makeconfig.
* Use variable name `libc_add_on' when sourcing add-on
configure fragments, so they can refer to this.
* configure: Regenerated.
2004-08-04 Roland McGrath <>
* posix/tst-waitid.c (test_child): Sleep a second before stopping.
(do_test): Bump sleep to three seconds.
(sigchld, check_sigchld): New functions.
(do_test): Handle SIGCHLD and check for getting the right details.
* posix/tst-waitid.c (do_test): Kill the child process when bailing
out early on some failure.
[WCONTINUED]: Test WCONTINUED functionality.
2004-08-03 Ulrich Drepper <>
* nscd/connections.c (handle_request): Print more descriptive
message for invalid request types.
2004-08-02 Jakub Jelinek <>
* iconvdata/ibm932.c (BODY): Avoid binary search for ch >= 0xffff.
Always treat high as highest number in range + 1.
* iconvdata/ibm943.c (BODY): Likewise.
2004-07-31 Bruno Haible <>
* iconvdata/JISX0213.TXT: Updated to JISX0213 plane 1 version 2004.
* iconvdata/jisx0213.c (__jisx0213_to_ucs_main,
__jisx0213_to_ucs_pagestart, __jisx0213_from_ucs_level1,
__jisx0213_from_ucs_level2): Regenerated.
* iconvdata/jisx0213.h (jisx0213_added_in_2004_p): New function.
* iconvdata/iso-2022-jp-3.c (JISX0213_1_2000_set): Renamed from
(JISX0213_1_2004_set): New enum value.
(BODY for FROM_LOOP): Treat ESC $ ( Q like ESC $ ( O.
(BODY for TO_LOOP): For JISX 0213 plane 1 characters, emit ESC $ ( O
when possible, ESC $ ( Q when needed.
* iconvdata/testdata/EUC-JISX0213: Add the 10 new characters.
* iconvdata/testdata/EUC-JISX0213..UTF8: Update.
* iconvdata/testdata/SHIFT_JISX0213: Add the 10 new characters.
* iconvdata/testdata/SHIFT_JISX0213..UTF8: Update.
* iconvdata/testdata/ISO-2022-JP-3: Add the 10 new JISX0213 characters.
* iconvdata/testdata/ISO-2022-JP-3..UTF8: Update.
2004-07-22 Bruno Haible <>
* iconvdata/gconv-modules (ISO-8859-7): Add alias ISO_8859-7:2003.
2004-07-29 David S. Miller <>
* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy): Optimize
better for smaller than 256 byte copies. Also, use only one
unrolled loop instead of two for the large copy case.
2004-07-30 Richard Henderson <>
* sysdeps/alpha/divq.S: Save t3 before it gets clobbered.
* sysdeps/alpha/remq.S: Likewise.
* sysdeps/alpha/div.S, sysdeps/alpha/ldiv.S: Rewrite with the
new division algorithms in divl.S and divq.S respectively.
2004-07-28 GOTO Masanori <>
* timezone/asia: Update from tzdata2004b.
* timezone/backward: Likewise.
* timezone/europe: Likewise.
* timezone/ Likewise.
* timezone/leapseconds: Likewise.
* timezone/northamerica: Likewise.
* timezone/southamerica: Likewise.
* timezone/ Likewise.
* timezone/private.h: Update from tzcode2004b.
* timezone/zic.c: Likewise.
2004-07-27 Ulrich Drepper <>
* nscd/grpcache.c (cache_addgr): If necessary, add entry also
under the name the user provided.
* nscd/pwdcache.c (cache_addpw): Likewise.
2004-07-26 Roland McGrath <>
* sysdeps/posix/waitid.c [WEXITED]: Clear WEXITED bit in OPTIONS for
call to __waitpid.
2004-07-26 Ulrich Drepper <>
* nscd/hstcache.c (cache_addhst): Fix two scenarios which lead to
memory leaks.
* sysdeps/unix/sysv/linux/ifreq.c (__ifreq): Assign pointer for
new buffer at the right time.
Reported by Jakub Bogusz <>.
2004-07-25 Ulrich Drepper <>
* inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter,
getsourcefilter, setipv4sourcefilter, and setsourcefilter.
* inet/Makefile (routines): Likewise.
* inet/netinet/in.h: Add prototypes for getipv4sourcefilter,
getsourcefilter, setipv4sourcefilter, and setsourcefilter.
* sysdeps/generic/getipv4sourcefilter.c: New file.
* sysdeps/generic/setipv4sourcefilter.c: New file.
* sysdeps/generic/getsourcefilter.c: New file.
* sysdeps/generic/setsourcefilter.c: New file.
2004-07-17 Steven Munroe <>
* sysdeps/powerpc/powerpc64/memcpy.S: Improve instruction scheduling
for POWER4 machines.
2004-07-21 Jakub Jelinek <>
[BZ #274]
* stdlib/strtod_l.c (INTERNAL (__STRTOF)): Fix used >=
BITS_PER_MP_LIMB shifting up.
* stdlib/tst-strtod.c (main): Add new tests.
2004-07-23 Jakub Jelinek <>
[BZ #282]
* libio/iopopen.c (_IO_new_popen): Use _IO_init instead of
_IO_no_init. Remove wd from struct locked_FILE.
(_IO_wproc_jumps): Remove.
Reported by Andrew Josey <>.
* stdio-common/Makefile (tests): Add tst-popen.
* stdio-common/tst-popen.c: New test.
2004-07-23 Ulrich Drepper <>
* posix/bits/posix1_lim.h: Fix values for _POSIX_CHILD_MAX and
Reported by Andrew Josey.
* include/features.h: Document _POSIX_C_SOURCE == 200112L.
* grp/grp.h: Define gid_t if __USE_XOPEN2K is defined.
* pwd/pwd.h: Define uid_t and gid_t if __USE_XOPEN2K is defined.
* io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t,
off_t, time_t, and uid_t if __USE_XOPEN2K is defined.
* signal/signal.h: Define pid_t if __USE_XOPEN2K is defined.
* posix/unistd.h: Define gid_t, off_t, pid_t, uid_t, and
useconds_t if __USE_XOPEN2K is defined.
* io/utime.h: Define time_t if __USE_XOPEN2K is defined.
* libio/stdio.h: Declare fseeko and ftello if __USE_XOPEN2K is defined.
2004-07-19 Thorsten Kukuk <>
* nis/nss_compat/compat-initgroups.c (getgrent_next_nss): Don't
allocate memory for large temporary variables with alloca.
2004-07-22 Ulrich Drepper <>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Compatibility
code must have version GLIBC_2.0. Patch by Dwayne McConnell.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Avoid read call with NULL
pointer and zero length.
2004-07-21 Ulrich Drepper <>
* nscd/cache.c (prune_cache): Print correct list when debugging.
2004-07-21 Jakub Jelinek <>
* resolv/res_libc.c (res_init): If RES_INIT is set and
_res.nscount > 0, call __res_nclose and free nsaddrs.
* resolv/Makefile: Add rules to build and run tst-leaks2.
* resolv/tst-leaks2.c: New test.
2004-07-21 Ulrich Drepper <>
* intl/libintl.h: Don't define macros for C++.
Patch by Goto Masanori.
2004-07-22 GOTO Masanori <>
[BZ #276]
* include/arpa/inet.h: Change inet_aton type from in_addr_t to int.
* inet/arpa/inet.h: Likewise.
* resolv/inet_addr.c: Likewise.
2004-07-21 Alexandre Oliva <>
* sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Add semtimedop.
2004-07-20 Roland McGrath <>
* (add_ons): Substitute this. Move $add_ons handling
after AC_CANONICAL_HOST and default setting of $machine et al.
Don't set $subdirs from $add_ons.
Instead, source add-on/configure fragments early on.
(base_machine): If it's already set, don't set it based on $machine.
(libc_config_ok): New variable, set to no. If an add-on fragment sets
it to yes, skip the tuple sanity check as if --enable-hacker-mode.
(sysnames): Try appending add-on names after machine as well.
* (add-ons): Set from @add_ons@ instead of @subdirs@.
* Makeconfig ($(common-objpfx)config.status): Also depend on configure
files in $(add_ons) dirs.
* sysdeps/unix/sysv/linux/bits/in.h (struct ip_mreq): Remove
definition, now in netinet/in.h proper.
2004-07-20 Alexandre Oliva <>
* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
Sort by syscalls. Make sure we get headers such as sgidefs.h from
the build tree before just-installed ones.
* sysdeps/mips/atomicity.h: Use standard names for ABI macros,
include sgidefs.h where appropriate.
* sysdeps/mips/dl-machine.h: Likewise.
* sysdeps/mips/machine-gmon.h: Likewise.
* sysdeps/mips/bits/setjmp.h: Likewise.
* sysdeps/mips/fpu/bits/mathdef.h: Likewise.
* sysdeps/mips/mips64/__longjmp.c: Likewise.
* sysdeps/mips/mips64/setjmp_aux.c: Likewise.
* sysdeps/unix/sysv/linux/mips/kernel_stat.h: Likewise.
* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/ptrace.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sigcontextinfo.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigcontext.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/ptrace.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
* sysdeps/unix/sysv/linux/mips/sys/user.h: Likewise.
* sysdeps/unix/sysv/linux/mips/Makefile ($(objpfx)syscall-%.h):
* sysdeps/unix/sysv/linux/mips/ (asm-unistd.h):
* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Update to use
(elf_machine_runtime_link_map): Don't INTUSE _dl_signal_error.
2004-07-20 Ulrich Drepper <>
* inet/netinet/in.h: Define struct ip_mreq and struct
Define struct group_req and struct group_source_req.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
* iconvdata/gconv-modules: Add alias for IBM874 [BZ #244].
2004-07-19 Jakub Jelinek <>
[BZ #258]
* math/ (max_value, min_value): New variables.
(initialize): Initialize them.
(pow_test): Add a couple of new tests.
* sysdeps/i386/fpu/e_powf.S (__ieee754_powf): Don't generate invalid
exception if |y| >= 1U<<31.
* sysdeps/i386/fpu/e_pow.S (__ieee754_pow): Don't generate invalid
exception if |y| >= 1L<<63.
* sysdeps/i386/fpu/e_powl.S (__ieee754_powl): Likewise.
If y*log2(x) overflows to +-inf, return still +inf/+0 instead of NaN.
* sysdeps/x86_64/fpu/e_powl.S (__ieee754_powl): Likewise.
2004-07-18 Ulrich Drepper <>
* nscd/pwdcache.c (cache_addpw): Optimize case of unsuccessful
lookup a bit.
* nscd/grpcache.c (cache_addgr): Likewise.
* nscd/hstcache.c (cache_addhst): Likewise.
2004-07-10 GOTO Masanori <>
* sysdeps/s390/s390-32/elf/start.S: Remove symbol _fp_hw.
* sysdeps/s390/s390-64/elf/start.S: Likewise.
2004-04-16 Andreas Schwab <>
* sysdeps/ia64/bits/atomic.h: Cast first argument of
__sync_bool_compare_and_swap_si correct to void*.
2004-07-17 Ulrich Drepper <>
* iconv/iconv_prog.c (print_known_names): Make machine-readable
output even less cluttered.
2004-07-16 Steven Munroe <>
[BZ #269]
* setjmp/Makefile (tests): Add bug269-setjmp.
* setjmp/bug269-setjmp.c: New file.
* sysdeps/powerpc/powerpc64/__longjmp-common.S [SHARED && !IS_IN_rtld]:
Store R2 from jmpbuf in callers TOC save area.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S [SHARED && !IS_IN_rtld]:
Store R2 in TOC save area.
* sysdeps/powerpc/powerpc64/setjmp-common.S [SHARED && !IS_IN_rtld]:
Copy TOC save area from previous frame as R2 (TOC) in jmpbuf.
2004-07-16 Jakub Jelinek <>
* locale/newlocale.c: Include bits/libc-lock.h.
(__libc_setlocale_lock): Extern decl.
(__newlocale): Use it.
Reported by Ulrich Weigand <>.
2004-07-15 Jakub Jelinek <>
* sysdeps/unix/sysv/linux/fcntl.c (__fcntl_nocancel): Remove
static inline __attribute ((always_inline)). Don't define if
(__libc_fcntl): Use INLINE_SYSCALL directly instead of
* sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c (__fcntl_nocancel):
Remove static inline __attribute ((always_inline)). Don't define
(__libc_fcntl): Use INLINE_SYSCALL directly instead of
* sysdeps/unix/sysv/linux/i386/fcntl.c (__fcntl_nocancel): Define to
__libc_fcntl if NO_CANCELLATION and __ASSUME_FCNTL64 == 0.
Don't define at all if NO_CANCELLATION and __ASSUME_FCNTL64 > 0.
(__libc_fcntl): Don't define if __fcntl_nocancel is a macro.
[BZ #262]
* sysdeps/i386/elf/start.S (_start): Use @GOT instead of @GOTOFF
for main.
* elf/Makefile: Add rules to build and run tst-pie1.
* elf/tst-pie1.c: New test.
* elf/tst-piemod1.c: New file.
2004-07-14 Jakub Jelinek <>
[BZ #266]
* manual/string.texi (l64a): Note that the static buffer is 7 bytes
long. Rewrite example code so that it takes into account l64a output
shorter than 6 characters.
Reported by Julian Graham <>.
2004-07-14 Kaz Kojima <>
* sysdeps/sh/dl-machine.h: Don't reset _dl_starting_up here.
(elf_machine_rela_relative): Remove unused valiable.
2004-07-12 Paul Eggert <>
[BZ #263]
* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Don't store
outside the buffer if the read returns 0. __strtod_l can't set
endp to NULL, so remove a test for that case.
2004-07-12 Roland McGrath <>
* manual/signal.texi (Interrupted Primitives): Make clear that
TEMP_FAILURE_RETRY evaluates its expression as long int and compares
it to -1 to define "failure".
2004-07-10 Ulrich Drepper <>
* elf/ldconfig.c: Define PROCINFO_CLASS as static before including
* sysdeps/generic/ldsodefs.h: Only define PROCINFO_CLASS if it is not
already defined.
* sysdeps/i386/dl-procinfo.c: Define PROCINFO_CALLS only if not
already defined.
* elf/rtld.c (print_statistics): Mark with noinline attribute.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Mark with a