2002-12-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/system.c: Define FORK only if
__ASSUME_CLONE_THREAD_FLAGS is defined.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Define for x86 and kernel >=
2.5.50.
* sysdeps/unix/sysv/linux/i386/brk.c: Use INTERNAL_SYSCALL instead
of asm.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
2002-12-18 Ulrich Drepper <drepper@redhat.com>
* elf/dl-support.c [NEED_DL_SYSINFO]: Define and initialize
_dl_sysinfo.
[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
code.
* elf/rtld.c [DL_NEED_SYSINFO]: Initialize _dl_sysinfo element of
_rtld_global.
[DL_SYSINFO_IMPLEMENTATION]: If defined use it to generate the needed
code.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start) [NEED_DL_SYSINFO]:
Check for AT_SYSINFO and set _dl_sysinfo appropriately.
* sysdeps/generic/ldsodefs.h (struct rtld_global) [NEED_DL_SYSINFO]:
Add _dl_sysinfo.
2002-12-17 Jakub Jelinek <jakub@redhat.com>
* malloc/thread-m.h (mutex_init, mutex_lock, mutex_trylock,
mutex_unlock): If not building NPTL, use __libc_maybe_call2 if
available, otherwise __libc_maybe_call.
* sysdeps/unix/sysv/linux/x86_64/recv.c: Add support for
cancellation handling.
* sysdeps/unix/sysv/linux/x86_64/send.c: Likewise.
2002-12-17 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (free_workarea_compile): Free the new member
ORG_INDICES.
(analyze): Initialize ORG_INDICES.
(duplicate_node_closure): Search for a existing node, which is
duplicated from the node ORG_DEST and satisfies the constraint
CONSTRAINT. And use it to avoid inifimite loop.
(search_duplicated_node): New function.
(duplicate_node): Store the index of the original node.
* posix/regex_internal.c (re_dfa_add_node): Realloc ORG_INDICES
if needed.
* posix/regex_internal.h (re_dfa_t): Add new members.
* sysdeps/posix/system.c (do_system): Add support for installation
of cancellation handlers.
* sysdeps/unix/sysv/linux/i386/system.c: New file.
* stdlib/Makefile (tests): Add tst-system.
* stdlib/tst-system.c: New file.
2002-12-16 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If __nss_lookup_function
fails to return a function pointer don't use it.
2002-12-16 Ulrich Drepper <drepper@redhat.com>
* stdio-common/Makefile (routines): Remove lockfile. Add
flockfile, ftrylockfile, and funlockfile.
* sysdeps/generic/lockfile.c: Removed. Each function has its own file.
* sysdeps/generic/flockfile.c: New file.
* sysdeps/generic/ftrylockfile.c: New file.
* sysdeps/generic/funlockfile.c: New file.
is now u_int, not int.
(struct XDR.x_handy): Now u_int, not int.
* sunrpc/xdr_mem.c: Include <limits.h>.
(xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes, xdrmem_putbytes,
xdrmem_inline, xdrmem_getint32, xdrmem_putint32):
x_handy is now unsigned, not signed.
Do not decrement x_handy if no change is made.
(xdrmem_setpos): Check for int overflow.
* sunrpc/xdr_sizeof.c (x_inline): 2nd arg is now unsigned.
(xdr_sizeof): Remove cast that is now unnecessary, now that
x_handy is unsigned.
* sysdeps/unix/sysv/linux/wait.c: Don't include <nptl/pthreadP.h> or
<tls.h> here, no need for it.
* sysdeps/unix/sysv/linux/waitpid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): Take ARG as void *
parameter, not varargs parameter.
* sysdeps/generic/sysdep-cancel.h (LIBC_CANCEL_RESET): Evaluate the
argument so it's not an unused variable.
* resolv/resolv.h (__p_key_syms, __p_cert_syms, __p_class_syms,
__p_type_syms, __p_rcode_syms): Remove decls, never really intended
for users.
* resolv/Versions (libresolv: GLIBC_2.3.2): New set, add __p_rcode.
2002-12-15 Art Haas <ahaas@airmail.net>
* nscd/connections.c: C99 initializer conversion.
* nscd/grpcache.c: Same.
* nscd/hstcache.c: Same.
* nscd/pwdcache.c: Same.
2002-12-15 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/fcntl.c (do_fcntl): This is the
original __libc_fcntl code. Just renamed.
* sysdeps/unix/sysv/linux/m68k/clone.S: Make inline syscall to _exit.
2002-12-14 Olaf Hering <olh@suse.de>
* sysdeps/powerpc/bits/setjmp.h: Include <bits/wordsize.h>.
* sysdeps/powerpc/powerpc64/setjmp.S: Fix typo in r18 load.
2002-12-13 Jakub Jelinek <jakub@redhat.com>
* locale/programs/locale.c: Include locarchive.h.
(ARCHIVE_NAME): Define.
(write_archive_locales): New function.
(write_locales): Use it. Ensure the same locale is not printed
multiple times in verbose mode.
Mode LC_IDENTIFICATION and LC_CTYPE printing into...
(print_LC_IDENTIFICATION, print_LC_CTYPE): ... these helper
functions.
(struct nameent): New type.
(nameentcmp): New function.
* posix/Makefile (tests): Add it.
* test-skeleton.c (TEST_DATA_LIMIT): New macro, default to 64MB.
(main): Set RLIMIT_DATA limit to TEST_DATA_LIMIT (or lower if need be).
2002-12-13 Ulrich Drepper <drepper@redhat.com>
* misc/syslog.c (log_cleanup): Don't use parameter in
__libc_lock_unlock call, use syslog_lock directly. Adjust callers to
pass NULL instead of a pointer to syslog_lock.
* iconvdata/Makefile: iconv-rules: Add definition to use gconv.map
linker map for all iconv modules.
(distribute): Add gconv.map.
* iconvdata/gconv.map: New file.
2002-04-30 Bruno Haible <bruno@clisp.org>
* intl/loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
the encoding if it already has slashes.
Reported by Perry Rapp <prapp@erols.com>.
2002-12-11 Ulrich Drepper <drepper@redhat.com>
* malloc/thread-m.h: Remove thread_id type and MUTEX_INITIALIZER
definitions. Not needed.
[_LIBC]: Use definitions from libc-lock.h instead of referencing
pthread routines directly.
* malloc/arena.c (ptmalloc_unlock_all2): Don't add (void) to
mutex_init calls.
(arena_get2): Don't look at return value of mutex_lock.
2002-12-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/sigpause.c: Define all functions as weak.
* elf/tst-tls7.c (do_test): Adjustments for l_tls_modid being of
type size_t.
and move contents to ...
(EXTRA_LD_ENVVARS_LINUX): ... this new macro. Add break for nonmatch.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Use
it instead of duplicating its contents.
(EXTRA_LD_ENVVARS): Likewise. Add break for nonmatch.
2002-12-09 Jakub Jelinek <jakub@redhat.com>
* elf/dl-support.c (_dl_non_dynamic_init): Add DL_OSVERSION_INIT if
defined.
* sysdeps/unix/sysv/linux/dl-librecon.h (_dl_osversion_init): New
function.
(EXTRA_LD_ENVVARS): Use it.
(DL_OSVERSION_INIT): Define.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Include linux
dl-librecon.h.
(EXTRA_LD_ENVVARS): Undef before defining. Use _dl_osversion_init.
2002-12-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/closedir.c (__closedir): Remove __libc_lock_lock
call. It is not allowed to destroy pthread mutexes which are
still in use even though it is safe for our implementations. If
somebody still uses the descriptor it is a bug.
struct containing function ptr and value, free it.
(__aio_notify_only): Allocate that and copy values from SIGEV into it.
It's not safe to let the new thread use the SIGEV pointer.
Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
Use strerror_r that is only a macro, even if it is not a function.
(strerror): Check for HAVE_DECL_STRERROR before declaring.
(private_strerror): Use prototypes, not old-style function definition.
(print_errno_message): New function.
Support the POSIX 'int'-flavored strerror_r, as well as the traditional
char*-flavored one.
(error_tail, error, error_at_line): Use it.
from 2002-12-06, but remove unnecessary memset call without removing
necessary copy of initialization image.
* Makerules ($(common-objpfx)format.lds): New target.
(common-generated): Add it.
($(inst_libdir)/libc.so): Depend on that, and cat it into the result.
* scripts/output-format.sed: New file.
* Makefile (distribute): Add it.
2002-12-07 Kenneth W. Chen <kenneth.w.chen@intel.com>
2002-12-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/libc-tls.c: Include <sys/param.h>.
Reported by Art Haas <ahaas@airmail.net>.
2002-12-07 Kenneth W. Chen <kenneth.w.chen@intel.com>.
2002-12-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h [RTLD_PRIVATE_ERRNO]
(SYSCALL_ERROR_HANDLER): Fix a pasto.
Reported by Jeff Bailey <jbailey@nisa.net>.
* include/wctype.h: Define iswalnum with libc_hidden_proto.
* include/signal.h: Define raise with libc_hidden_proto.
* sysdeps/unix/sysv/linux/fexecve.c (fexecve): Use __snprintf and
__execve instead of snprintf and execve.
* malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]
(malloc_starter, memalign_starter, free_starter): Don't define these.
* malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]:
Don't declare them either.
* malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call
__pthread_initialize, so no need to set hooks to *_starter.
(ptmalloc_init_minimal): New function, broken out of ptmalloc_init.
[_LIBC && SHARED && USE_TLS && !USE___THREAD]
(__libc_malloc_pthread_startup): New function.
* malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function.
* malloc/hooks.c (memalign_starter): New function.
* malloc/malloc.c: Declare it.
* malloc/arena.c (save_memalign_hook): New variable.
(ptmalloc_init): Set __memalign_hook to memalign_starter.
* elf/dl-minimal.c (free): Clear the memory.
(calloc): Just call malloc, knowing all memory it returns is cleared.
* sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of
malloc and memset; calloc can avoid the zeroing when redundant.
(_dl_tls_setup): Likewise.
* elf/dl-load.c (decompose_rpath): Likewise.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset
call, since memory from sbrk at startup is already zero.
* elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an
error string for failure, null for success. Update callers.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
2002-12-05 Ulrich Drepper <drepper@redhat.com>
* dirent/bug-readdir1.c (main): Don't call closedir, just close on
the file descriptor. This is testing what the bug report was about.
members to the end, so a libpthread compiled with !USE_TLS will still
find other members properly.
* sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output
operand for DEST memory. Fix dummy input operand to use SRC.
Reported by Davin McCall <davmac@ozonline.com.au>.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB
alignment when initializing the DTV entry.
* elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment
when TLS has not been set up, try to set it up if we can.
* elf/tst-tls4.c: Revert last change.
* elf/tst-tls5.c: Likewise.
* elf/tst-tls6.c: Likewise.
* elf/tst-tls7.c: Likewise.
* elf/tst-tls8.c: Likewise.
* elf/tst-tls9.c: Likewise.
* sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
* sysdeps/generic/ldsodefs.h: Declare it.
* elf/Versions (ld: GLIBC_PRIVATE): Add it.
* sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
function, broken out of __libc_setup_tls.
(init_static_tls): Likewise.
(__libc_setup_tls): Call them.
(_dl_tls_setup): New function, uses new subroutines.
* elf/dl-close.c (free_slotinfo): Make argument pointer to pointer.
Clear the pointer when returning true.
(libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the
first element of the slotinfo list too.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if
[SHARED].
* sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
(_dl_determine_tlsoffset): Likewise.
* elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
startup_error_tsd, made global.
(dl_main): Update initialization.
* elf/dl-tsd.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare it.
* iconvdata/Makefile (distribute): Add it.
(modules): Add CP1125.
(gen-8bit-gap-modules): Add cp1125.
* iconvdata/gconv-modules: Add CP1125, alias RUSCII.
* iconvdata/tst-tables.sh: Add CP1125 to the list to test.
caller from EXTRA to -.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
2002-11-30 Bruno Haible <bruno@clisp.org>
* iconv/gconv.h (__gconv_btowc_fct): New typedef.
(struct __gconv_step): New field __btowc_fct.
* wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible.
* iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from
__BUILTIN_TRANS.
(__gconv_btwoc_ascii): New declaration.
* iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
(__gconv_btwoc_ascii): New function.
* iconv/gconv_builtin.h: Add BtowcFct argument to all
BUILTIN_TRANSFORMATION invocations.
* iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument.
* iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise.
* iconv/gconv_builtin.c (map): New field btowc_fct.
(BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize
btowc_fct field.
(__gconv_get_builtin_trans): Initialize __btowc_fct field.
* iconv/gconv_cache.c (find_module): Initialize __btowc_fct field.
* iconv/gconv_db.c (gen_steps, increment_counter): Likewise.
* wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise.
* iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE.
(gconv_init): Initialize __btowc_fct field.
Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end.
* iconv/loop.c: Document ONEBYTE_BODY.
(gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined.
Undefine ONEBYTE_BODY at the end.
* iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro.
* iconvdata/8bit-gap.c (NONNUL): New macro.
(BODY for FROM_LOOP): Use it.
(ONEBYTE_BODY): New macro.
* iconvdata/isiri-3342.c (HAS_HOLES): Set to 1.
(NONNUL): New macro.
* iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro.
* iconvdata/armscii-8.c (ONEBYTE_BODY): New macro.
* iconvdata/cp1255.c (ONEBYTE_BODY): New macro.
* iconvdata/cp1258.c (ONEBYTE_BODY): New macro.
* iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro.
* iconvdata/big5.c (ONEBYTE_BODY): New macro.
* iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-cn.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-jp.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-kr.c (ONEBYTE_BODY): New macro.
* iconvdata/euc-tw.c (ONEBYTE_BODY): New macro.
* iconvdata/gbk.c (ONEBYTE_BODY): New macro.
* iconvdata/gb18030.c (ONEBYTE_BODY): New macro.
* iconvdata/ibm932.c: Include <stdbool.h>.
(TRUE, FALSE): Remove macros.
(BODY for FROM_LOOP): Remove unused variable rp1.
(ONEBYTE_BODY): New macro.
(BODY for TO_LOOP): Use bool.
* iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array.
* iconvdata/ibm943.c: Include <stdbool.h>.
(TRUE, FALSE): Remove macros.
(BODY for FROM_LOOP): Remove unused variable rp1.
(ONEBYTE_BODY): New macro.
(BODY for TO_LOOP): Use bool.
* iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array.
* iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro.
* iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro.
* iconvdata/iso_6937.c (ONEBYTE_BODY): New macro.
* iconvdata/johab.c (ONEBYTE_BODY): New macro.
* iconvdata/sjis.c (ONEBYTE_BODY): New macro.
* iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro.
* iconvdata/t.61.c (ONEBYTE_BODY): New macro.
* iconvdata/uhc.c (ONEBYTE_BODY): New macro.
* iconvdata/gbbig5.c: Tweak comment.
DL_SYSDEP_OSCHECK here.
* sysdeps/unix/sysv/linux/init-first.c (init): Not here.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include <fcntl.h>.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if
argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset
instead of l_type to decide whether to use TLS_DTV_UNALLOCATED.
* include/link.h: Comment typo fix.
2002-12-01 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L.
(_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE,
_POSIX_MEMORY_PROTECTION): Likewise.
(_POSIX_POLL, _POSIX_SELECT): Removed.
2002-11-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define macros which
require it to 200112L. Remove _POSIX_POLL and _POSIX_SELECT.
2002-11-27 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (parse_expression): Set the bit since the back
reference is used in the regular expression.
* posix/regex_internal.c (re_node_set_init_1): Make it clean in case
of malloc failure.
(re_node_set_init_copy): Likewise.
* posix/regex_internal.h (state_array_t): New structure.
(re_sub_match_last_t): Likewise.
(re_sub_match_top_t): Likewise.
(re_match_context_t): Add new members.
(re_dfa_t): Likewise.
* posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes
to check the matching is really correct, and retry if failed.
Move the routin pruning the impossible nodes from here, ...
(prune_impossible_nodes): To this function.
(check_matching): Invoke check_subexp_matching_top, and replace
redundant checking with transit_state_bkref invocation.
(proceed_next_node): Replace strncmp with memcmp. Reported by
Paolo Bonzini <bonzini@gnu.org>.
(update_cur_sifted_state): Remove search_subexp invocation.
(search_subexp): Remove this function.
(check_dst_limits_calc_pos): Use search_cur_bkref_entry for
optimization.
(sift_states_bkref): Use search_cur_bkref_entry for optimization.
Remove unused invocation of match_ctx_add_entry.
(transit_state): Invoke check_subexp_matching_top.
(check_subexp_matching_top): New function.
(transit_state_bkref): Remove unused array.
Merge transit_state_bkref_loop.
(transit_state_bkref_loop): Use get_subexp instead of
sift_states_backward. Use search_cur_bkref_entry for optimization.
Merge this function to transit_state_bkref.
(get_subexp): New function.
(get_subexp_sub): Likewise.
(find_subexp_node): Likewise.
(check_arrival): Likewise.
(check_arrival_expand_ecl): Likewise.
(check_arrival_expand_ecl_sub): Likewise.
(expand_bkref_cache): Likewise.
(match_ctx_init): Initialize new members.
(match_ctx_clean): New function.
(match_ctx_free): Release new members.
(match_ctx_free_subtops): New function.
(match_ctx_add_entry): Fix indent.
(search_cur_bkref_entry): New function.
(match_ctx_add_subtop): Likewise.
(match_ctx_add_sublast): Likewise.
Grok AF_LINK if defined.
From Momchil Velikov <velco@fadata.bg>.
* sysdeps/gnu/ifaddrs.c (getifaddrs): If ioctl fails for netmask,
brdaddr, or dstaddr, just set those pointers to null and don't fail.
Reported by Momchil Velikov <velco@fadata.bg>.
* sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: If sa_len
is > sizeof IFR->ifa_addr, advance past the whole longer length.
(__ifreq): Count up NIFS that way too.
Reported by Momchil Velikov <velco@fadata.bg>.
* sysdeps/mach/hurd/lchmod.c: Include <fcntl.h>.
From Ian Wienand <ianw@gelato.unsw.edu.au>.
* sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_pread): Define to
__NR_pread64 if not defined.
(__NR_pwrite): Define to __NR_pwrite64 if not defined.
From Ian Wienand <ianw@gelato.unsw.edu.au>.
* intl/tst-gettext.c (main): Check return values from setlocale.
Add necessary unsetenv's to make LANG=existing-locale check work.
* intl/tst-gettext.sh: Use mkdir -p. Copy test files unconditionally,
so aborted prior runs don't confuse things.
* locale/localeinfo.h (struct locale_data: union locale_data_value):
Use uintptr_t instead of unsigned int for `word' member.
(_NL_CURRENT_WORD): Cast to uint32_t.
* posix/bug-regex5.c (main): Use union to extract _NL_COLLATE_NRULES
value.
* iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return
__GCONV_EMPTY_INPUT only if input is really empty. Otherwise
__GCONV_INCOMPLETE_INPUT.
(ucs4le_internal_loop): Likewise.
(ucs4le_internal_loop_unaligned): Likewise.
* iconvdata/unicode.c (PREPARE_LOOP): Likewise.
* iconvdata/utf-16.c (PREPARE_LOOP): Likewise.
* iconvdata/utf-32.c (PREPARE_LOOP): Likewise.
* iconv/loop.c (LOOPFCT): First test for empty input then for full
output buffer.
2002-11-20 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Use extend_alloca where appropriate.
* sysdeps/posix/getaddrinfo.c: Likewise.
* include/alloca.h (extend_alloca): New define. Based on stack
direction it'll try to append to the previouls allocated buffer.
2002-11-07 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If AF_UNSPEC is set,
use the same service for AF_INET and AF_INET6.
2002-11-19 Ulrich Drepper <drepper@redhat.com>
* intl/localealias.c (read_alias_file): Use only about 400 bytes
of stack space instead of 16k.
(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_unlock_all2): Do
nothing if not initialized. Bug report from Marcus Brinkmann
<Marcus.Brinkmann@ruhr-uni-bochum.de>.
`-lgcc -lgcc_eh -lgcc', not just `-lgcc -lgcc_eh' in link commands for
test leading to libc_cv_gcc_dwarf2_unwind_info=no_registry_needed.
* configure: Regenerated.
2002-11-19 Ulrich Drepper <drepper@redhat.com>
* include/dlfcn.h: __libc_dlopen is now a macro calling
__libc_dlopen_mode with the extra parameter RTLD_LAZY.
(__libc_dlopen_mode): New prototype.
* elf/dl-libc.c (__libc_dlopen_mode): Renamed from __libc_dlopen. Add
new parameter. Store new parameter in mode field of structure passed
to do_dlopen.
(struct do_dlopen_args): Add new field mode.
(do_dlopen): Pass mode from parameter structure to _dl_open.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
Define mcontext_t as a sigcontext.
* manual/crypt.texi (Cryptographic Functions): Mention that
the MD5 one-way algorithm is compatible with BSD's.
* sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable.
Set -mdisable-fpregs for this file.
2002-11-11 Carlos O'Donell <carlos@baldric.uwo.ca>
* sysdeps/unix/sysv/linux/configure.in:
Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols
from gcc-3.0 era for backwards compatibility.
* sysdeps/unix/sysv/linux/configure: Regenerate.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
Define mcontext_t as a sigcontext.
* dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)).
Free memory in `last_result' if it was used.
* resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search
all aliases for one that matches the "<dotted-quad>.IN-ADDR.ARPA" form.
Do the parsing inline instead of copying strings and calling
inet_network, and properly skip all alias names not matching the form.
2002-11-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/clone.S: Initialize word in the
childs stack which will be loaded into the %esi register.
* resolv/nss_dns/dns-network.c (getanswer_r): Check for buffer
overflow when skipping the question part and when unpacking aliases.
* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.
2002-11-15 Roland McGrath <roland@redhat.com>
* math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
* Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
(+make-include-of-dep): New canned sequence.
* stdlib/canonicalize.c (__realpath): Check for malloc failure.
From Dmitry V. Levin <ldv@altlinux.org>.
* inet/herrno.c (__libc_h_errno): Likewise.
* resolv/res_libc.c (__libc_res): Likewise.
[USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
(__res_state) [! USE___THREAD]: Don't define as weak.
* csu/Versions: Revert last change.
* resolv/Versions: Revert last change.
* Makerules ($(common-objpfx)%.make): New pattern rule.
* tls.make.c: New file.
* Makefile (distribute): Add it.
[HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these
with compat_symbol so they are not link-time visible.
[! USE___THREAD] (__libc_errno): New alias for errno.
* csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_errno here.
* inet/herrno.c [USE___THREAD]: Use this conditional
in place of [USE_TLS && HAVE___THREAD].
[! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING]
(h_errno, _h_errno): Declare these with compat_symbol so they are not
link-time visible.
[! USE___THREAD] (__libc_h_errno): New alias for h_errno.
* resolv/res_libc.c [! USE___THREAD]
[HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise.
(_res): Use __attribute__ ((section (".bss"))) so we can have an alias.
(__libc_res): Define as alias for _res.
* resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_h_errno and __libc_res here.
2002-11-14 Jakub Jelinek <jakub@redhat.com>
* csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now.
* resolv/Versions (h_errno, _res): Likewise.
2002-11-14 Roland McGrath <roland@redhat.com>
* Makefile (distribute): Add it.
* Makerules ($(objpfx)%.dynsym, $(objpfx)%.symlist): New rules.
(tests): Depend on .symlist file for each $(install-lib.so-versioned).
[! subdir] (tests): Depend on libc.symlist.
(generated): Add those files.
* aclocal.m4 (LIBC_PROG_BINUTILS): Check for objdump, set OBJDUMP.
* configure: Regenerated.
* config.make.in (OBJDUMP): New variable, substituted by configure.
* malloc/mcheck.c (struct hdr): New members `block' and `magic2'.
(mallochook, reallochook): Set them up.
(checkhdr): Check HDR->magic2 value.
(freehook): Reset HDR->magic2.
(memalignhook): New static function.
(old_memalign_hook): New static variable.
(mcheck, reallochook): Set __memalign_hook to memalignhook.
wide character.
(re_string_reconstruct): Calculate the context by itself when the
offset points out of the valid range.
(re_string_context_at): Use wide character when MB_CUR_MAX > 1.
* posix/regex_internal.h (WIDE_NEWLINE_CHAR): New macro.
(IS_WIDE_WORD_CHAR): New macro.
(IS_WIDE_NEWLINE): New macro.
instead of <pt-machine.h>.
[_LIBC_REENTRANT] (lock, unlock): Use __sync_lock_* macros instead of
testandset.
From Ian Wienand <ianw@gelato.unsw.edu.au>.
the beginning of generated target commands.
* csu/Makefile ($(objpfx)crti.o, $(objpfx)crtn.o): Add explicit
dependencies for these in case implicit rule search skipped the
nonexistent source directory.
* sysdeps/gnu/Makefile ($(objpfx)errlist.d): Give this rule all the
files with $(object-suffixes) as targets too.
* Makerules [no_deps && objpfx] (before-compile): Add $(objpfx).
and a target for it using $(make-target-directory).
* Rules (before-compile): Add $(common-objpfx)bits/stdio-lim.h.
* sysdeps/unix/sysv/linux/bits/pthreadtypes.h: Moved to ...
* sysdeps/generic/bits/pthreadtypes.h: ... here.
2002-11-10 Ulrich Drepper <drepper@redhat.com>
* po/da.po: Update from translation team.
* sysdeps/mach/hurd/i386/ioperm.c (ioperm): Correct off by one
error in range calculation.
* string/test-strpbrk.c (do_test): Likewise.
* string/test-strncmp.c (stupid_strncmp): Use strnlen, not strlen.
* string/test-strncpy.c (stupid_strncpy): Likewise.
* string/test-stpncpy.c (stupid_stpncpy): Likewise.
2002-10-08 Roland McGrath <roland@redhat.com>
* string/test-string.h (test_init): Fill BUF1 and BUF2 with
nonzero characters.
2002-09-22 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/mmap64.c (MMAP2_PAGE_SHIFT): Renamed
from PAGE_SHIFT. Define if not defined. Check MMAP2_PAGE_SHIFT
only if __NR_mmap2 is defined.
* sysdeps/unix/sysv/linux/powerpc/mmap64.c: Moved to ...
* sysdeps/unix/sysv/linux/mmap64.c: ... here.
* sysdeps/unix/sysv/linux/hppa/mmap64.c: File removed.
* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: FIle removed,
(do_random_tests): Make sure the string is zero terminated.
* string/test-strpbrk.c (stupid_strpbrk): New function.
(do_random_tests): Make sure the string is zero terminated.
* string/test-strcmp.c (stupid_strcmp): New function.
(do_random_tests): Make sure the strings are zero terminated.
* string/test-strspn.c (stupid_strspn): New function.
(simple_strspn): Rename rej argument to acc.
(do_random_tests): Make sure the string is zero terminated.
* string/test-strcspn.c (stupid_strcspn): New function.
* string/test-strncpy.c (stupid_strncpy): New function.
* string/test-stpncpy.c (stupid_stpncpy): New function.
* string/test-strncmp.c (stupid_strncmp): New function.
(do_random_tests): Make sure the strings are zero terminated.
* string/test-string.h (impl_t): Change test into long.
(IMPL): Add __attribute__((aligned (sizeof (void *)))).
From Ian Wienand <ianw@cse.unsw.edu.au>.
* sysdeps/ia64/elf/configure: Regenerated.
2002-11-07 Roland McGrath <roland@redhat.com>
* libio/fileops.c (_IO_new_file_overflow): Use INTUSE(_IO_do_write) in
place of _IO_new_do_write.
[_LIBC] (_IO_do_write): Define as macro for _IO_new_do_write and
#undef before versioned_symbol use.
* string/test-string.h (test_init): Fill BUF1 and BUF2 with nonzero
characters.
* string/test-strlen.c: New file.
* string/test-string.h: New file.
* string/test-strcmp.c: New file.
* string/test-strchr.c: New file.
* string/test-strrchr.c: New file.
* string/test-strcpy.c: New file.
* string/test-stpcpy.c: New file.
* string/test-strncpy.c: New file.
* string/test-stpncpy.c: New file.
* string/test-strpbrk.c: New file.
* string/test-strcspn.c: New file.
* string/test-strspn.c: New file.
* string/test-strcat.c: New file.
* string/test-strncmp.c: New file.
* string/test-memchr.c: New file.
* string/test-memcmp.c: New file.
* string/test-memset.c: New file.
* string/test-memcpy.c: New file.
* string/test-mempcpy.c: New file.
* string/test-memmove.c: New file.
* string/Makefile (strop-tests): New variable.
(tests): Add strop-tests.
(distribute): Add test-string.h.
2002-11-06 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (re_compile_pattern): Don't set regs_allocated
here.
(regcomp): Don't set can_be_null here.
(re_comp): Clear whole re_comp_buf with the exception of fastmap.
(re_compile_internal): Clear can_be_null, set regs_allocated.
* posix/regcomp.c (re_set_fastmap): New function.
(re_compile_fastmap_iter): Use it. Remove redundant type ==
COMPLEX_BRACKET check.
* posix/regexec.c (re_search_internal): Optimize searching with
fastmap. Call re_string_reconstruct even if match_first is
smaller than raw_mbs_idx.
2002-11-06 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp (free_dfa_content): Use free_state.
* posix/regex_internal.c (re_string_realloc_buffers): Don't edit
pointers in case that realloc failed.
(re_node_set_merge): Likewise.
(register_state): Likewise.
(create_newstate_common): Invoke memory release functions in case of
error conditions.
(create_ci_newstate): Likewise.
(create_cd_newstate): Likewise.
(free_state): New function.
* posix/regexec.c (re_search_internal): Invoke memory release
functions in case of error conditions.
(sift_states_backward): Likewise.
(merge_state_array): Likewise.
(add_epsilon_src_nodes): Likewise.
(sub_epsilon_src_nodes): Likewise.
(search_subexp): Likewise.
(sift_states_bkref): Likewise.
(transit_state_sb): Likewise.
(transit_state_mb): Likewise.
(transit_state_bkref_loop): Likewise.
(group_nodes_into_DFAstates): Likewise.
(push_fail_stack): Don't edit pointers in case that realloc failed.
(extend_buffers): Likewise.
(match_ctx_add_entry): Likewise.
2002-11-06 Ulrich Drepper <drepper@redhat.com>
* posix/regcomp.c (regcomp): __re_compile_fastmap can never fail.
If re_compile_internal failed free fastmap buffer.
(free_dfa_content): Broken out of regfree function. Frees all dfa
related data.
(regfree): Add free_dfa_content.
(re_compile_internal): If any of the called functions fails free
all dfa related memory.
#errlist-compat magic comment to give 123 as size.
(libc: GLIBC_2.1): Remove this set, moving #errlist-compat magic to ...
(libc: GLIBC_2.2): ... here.
(libc: GLIBC_2.3): Likewise.
2002-11-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Handle
__NR_pread64 and __NR_pwrite64.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/pread.c: Remove __NR_pread64
and __NR_pwrite64.
Revert change to use INLINE_SYSCALL.
* sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: Revert change to use
INLINE_SYSCALL.
* sysdeps/unix/sysv/linux/powerpc/truncate64.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
Update clobber list and add a comment about the syscall ABI.
2002-11-05 Ulrich Drepper <drepper@redhat.com>
* libio/ioseekoff.c: Remove INTDEF. Define _IO_seekoff_unlocked. Same
as old code without locking. _IO_seekoff calls this function after
locking the stream.
* libio/ioseekpos.c: Likewise for _IO_seekpos.
* libio/libioP.h: Replace _IO_seekoff_internal and _IO_seekpos_internal
prototypes with _IO_seekoff_unlocked and _IO_seekpos_unlocked
prototypes.
* libio/iolibio.h (_IO_fseek): Call _IO_seekoff_unlocked instead
of _IO_seekoff_internal.
(_IO_rewind): Likewise.
* libio/ioftell.c: Likewise.
* libio/ftello.c: Likewise.
* libio/ftello64.c: Likewise.
* libio/iofgetpos.c: Likewise.
* libio/iofgetpos64.c: Likewise.
* libio/oldiofgetpos.c: Likewise.
* libio/oldiofgetpos64.c: Likewise.
* libio/iofsetpos.c: Call _IO_seekpos_unlocked instead of
_IO_seekpos_internal.
* libio/iofsetpos64.c: Likewise.
* libio/oldiofsetpos.c: Likewise.
* libio/oldiofsetpos64.c: Likewise.
* libio/wfileops.c (_IO_wfile_seekoff): Don't modify _offset and
_wide_data->_IO_read_end if adjustment can be made in the current
buffer.
2002-11-04 Ulrich Drepper <drepper@redhat.com>
* manual/examples/dir.c: Don't include <stddef.h>.
* manual/examples/select.c: Include <errno.h> for TEMP_FAILURE_RETRY.
Reported by Frédéric Delanoy <delanoy_f@yahoo.com>.
2002-11-02 H.J. Lu <hjl@gnu.org>
* stdio-common/reg-printf.c: Include <stddef.h>.
2002-11-03 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/segfault.c (catch_segfault): If HAVE_PROC_SELF
is defined write out memory map.
* sysdeps/unix/sysv/linux/segfault.c: New file.
description to be clearer and to say that *RESULT is set to ENTRY.
2002-10-30 Jakub Jelinek <jakub@redhat.com>
* posix/regexec.c (build_trtable): Alloca or malloc dests_node and
dests_ch arrays together. Alloca or malloc dest_states,
dest_states_word and dest_states_nl arrays together. Free memory on
error exit.
2002-10-29 Daniel Jacobowitz <drow@mvista.com>
* crypt/crypt_util.c (__init_des_r): Initialize current_salt
and current_saltbits.
2002-11-02 Roland McGrath <roland@redhat.com>