(__new_exitfn): Bump it in every successful call.
* stdlib/cxa_finalize.c (__cxa_finalize): If destructor registered
more exit handlers, call them right away.
* stdlib/exit.h: Declare __new_exitfn_called.
(_dl_lookup_symbol_x): Rename hash to old_hash and don't compute
value here. Compute new-style hash value. Pass new hash value
and reference to variable with the old value to do_lookup_x.
(_dl_setup_hash): If DT_GNU_HASH is defined, use it and not
old-style hash table.
(_dl_debug_bindings): Pass new hash value and reference to variable
with the old value to do_lookup_x.
* elf/do-lookup.h (do_lookup_x): Accept additional parameter with
new-style hash value and change old-style hash value parameter to
be a reference. Reoganize functions to determine whether
new-style hash table is available. Only fall back on old-style
table. If old-style hash value is needed, compute it here.
* elf/dynamic-link.h (elf_get_dynamic_info): Relocate DT_GNU_HASH
entry.
* elf/elf.h: Define SHT_GNU_HASH, DT_GNU_HASH, DT_TLSDEC_PLT,
DT_TLSDEC_GOT. Adjust DT_ADDRNUM.
* include/link.h (struct link_map): Add l_gnu_bitmask_idxbits,
l_gnu_shift, l_gnu_bitmask, l_gnu_buckets and l_gnu_chain_zero.
* Makeconfig: If linker supports --hash-style option add it to all
linker command lines to build DSOs.
* config.make.in: Define have-hash-style.
* configure.in: Test whether linker supports --hash-style option.
* elf/dl-misc.c (_dl_name_match_p): Make MAP parameter const.
* sysdeps/generic/ldsodefs.h: Adjust prototype.
look further, return original strings.
(_nl_find_msg): Do not return found translation if the conversion
failed. Either signal the string is unusable or that something went
wrong and the original should be used.
2006-06-21 Ulrich Drepper <drepper@redhat.com>
* string/_strerror.c (__strerror_r): Add __builtin_expect.
been converted at all, set *last_wc to WEOF. If mbrtowc failed, set wc
to the byte which couldn't be converted.
(re_string_reconstruct): Don't clear valid_raw_len before calling
re_string_skip_chars. If wc is WEOF after re_string_skip_chars, set
tip_context using re_string_context_at.
* posix/Makefile: Add rules to build and run bug-regex25 test.
* posix/bug-regex25.c: New test.
2006-06-02 Ryan S. Arnold <rsa@us.ibm.com>
[BZ #2703]
* string/envz.c (envz_strip): Correct erroneously reversed src
and dest parameters to memmove() invocation.
* nscd/nscd.c (parse_opt): Read response from INVALIDATE request
to make sure the database has been already invalidated.
* nscd/cache.c (prune_cache): Add fd argument. Write response to fd
after the cache has been invalidated. Use pthread_mutex_lock rather
than pthread_mutex_trylock if fd != -1.
* nscd/connections.c (invalidate_cache): Add fd argument, write
response to fd if not calling prune_cache, pass fd to prune_cache.
(handle_request): Adjust invalidate_cache caller.
(nscd_run): Pass -1 as fd to prune_cache.
* nscd/cache.c (prune_cache): Take prunelock before starting the
work. Just return in case it is already taken.
(inet6_option_alloc): Now a simple wrapper around option_alloc.
Avoid memory leak in case realloc fails. Simplification for
better code generation.
Avoid deprecation warning because of libc_hidden_proto for
inet6_option_alloc.
* inet/inet6_option.c (option_alloc): Renamed from
inet6_option_alloc. Made static.
(inet6_option_alloc): New a simple wrapper around option_alloc.
(inet6_option_append): Call option_alloc.
* include/netinet/in.h: Remove libc_hidden_proto for
inet6_option_alloc.
from __do_niscall.
* nis/nis_table.c (__create_ib_request): Renamed from create_ib_request
and exported.
(__follow_path): New function. Split out from nis_list.
* nis/nis_xdr.h: Add libnsl_hidden_proto for _xdr_ib_request and
_xdr_nis_result.
* nis/nis_xdr.c: Add libnsl_hidden_def for _xdr_ib_request and
_xdr_nis_result.
* nis/libnsl.h: Declare __prepare_niscall, __create_ib_request,
and __follow_path.
* nis/Versions: Export __prepare_niscall, __create_ib_request,
__follow_path, __do_niscall3, _xdr_ib_request, and _xdr_nis_result
from libnsl for version GLIBC_PRIVATE.
* nis/nisplus-parser.h: Remove _nss_nisplus_parse_pwent_chk.
Remove entry parameter from _nss_nisplus_parse_pwent and
_nss_nisplus_parse_grent.
* nis/nss_nisplus/nisplus-parser.c: Likewise.
* nis/nss_nisplus/nisplus-pwd.c: Remove support for SETENT_BATCH_READ
again. Rewrite getpwent handling to not use nis_first_entry and
nis_next_entry. Roll out own niscall handling.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
* sunrpc/xdr_rec.c: Fix typo in comment.
2006-05-18 David Woodhouse <dwmw2@redhat.com>
RFC3484 precedence table for fec0::/10 and fc00::/7 (site-local
and ULA respectively). Set precedence for IPv4 address to 10 as
defined in RFC3484 for preferring IPv6.
* posix/gai.conf: Update to match the new default tables.
* nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden.
* nscd/nscd_getgr_r.c: Likewise.
* include/rpc/pmap_rmt.h: Mark all functions as hidden.
* nscd/nscd_getai.c (__hst_map_handle): Mark as hidden.
* nscd/nscd_gethst_r.c (__hst_map_handle): Likewise.
* stdlib/longlong.h (__clz_tab): Mark as hidden.
* iconv/gconv_int.h: Mark __gconv_lock as hidden.
* include/rpc/auth.h: Mark xdr_des_block_internal and
xdr_opaque_auth_internal as hidden.
* sysdeps/unix/sysv/linux/getdents.c: Mark __have_no_getdents64 as
hidden.
* include/rpc/xdr.h: Make all _internal functions as hidden.
* sunrpc/pmap_rmt.c: Declare xdr_rmtcall_args_internal as hidden.