2000-07-27 Jakub Jelinek <jakub@redhat.com>
* locale/indigits.h (indigit_value): Correct.
* locale/indigitswc.h (indigitwc_value): Correct.
* stdio-common/vfscanf.c (__vfscanf): Fix I18N number
conversion, add GROUP checking for it, fix GROUP number
conversion with strlen(thousands) > 1.
Honour width correctly in the presence of floating
decimal points and thousands separators.
* stdio-common/tst-sscanf.c: New test.
* stdio-common/Makefile: Add it to tests.
* sysdeps/generic/strtol.c (strtol): Fix conversion if there are
thousands separators and group argument is non-zero.
Reported by Andi Kleen <ak@suse.de>.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
in union init. Pass zero for ignored semnum arg to semctl.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
2000-07-27 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
in union init. Pass zero for ignored semnum arg to semctl.
* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
* elf/Makefile (tests): Add nodlopen. Add rules to generate nodlopen.
* include/dlfcn.h: Define __RTLD_DLOPEN.
* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
and this is a dlopen() call, do not load the binary.
* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
* dlfcn/dlopenold.c: Likewise.
* configure.in: Add test for -z nodelete option.
* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Make Hesiod NSS module thread-safe.
* hesiod/README.hesiod: Update.
* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
hesiod-proto.
* hesiod/nss_hesiod/hesiod-init.c: New file.
* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
* hesiod/nss_hesiod/nss_hesiod.h: New file.
* hesiod/nss_hesiod/hesiod-service.c
(_nss_hesiod_getservbyport_r): New function. Provide support for
looking up services by port number.
* hesiod/nss_hesiod/hesiod-proto.c: New file.
* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
* hesiod/hesiod.h: Likewise.
* hesiod/hesiod_p.h: Likewise.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Fix problems with `struct __res_state' getting too big.
* resolv/resolv.h (struct __sockaddr_in): New definition.
(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
the private parts of the structure to save some space.
* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
(struct sockaddr_in *) in call to sock_eq.
Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].
2000-07-20 Ulrich Drepper <drepper@redhat.com>
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* elf/elf.h: Add various DF_1_*, DTF_1_*, and DF_P1_* entries.
* elf/dl-close.c (_dl_close): Don't close an object if it is marked
with nodelete.
* elf/dl-open.c (dl_open_worker): Pass RTLD_NOLOAD as new parameter
to _dl_map_object. Return immediately if no object loaded.
Set DF_1_NODELETE bit in l_flags_1 if RTLD_NODELETE was passed.
* elf/dynamic-link.h (elf_get_dynamic_info): Copy DT_FLAGS_1 entry
if it exists into l_flags_1 word.
* elf/dl-load.c (_dl_map_object_from_fd): Take no parameter and use
it to determine whether loading is wanted or not.
(_dl_map_object): Likewise.
Call _dl_map_object_from_fd with new parameter.
* sysdeps/generic/ldsodefs.h: Update prototype.
* elf/dl-deps.c: Add new parameter to _dl_map_object calls.
* elf/rtld.c: Likewise.
* elf/Makefile (tests): Add noload. Add rules to generate noload.
* elf/noload.c: New file.
* include/link.h (struct link_map): Add l_feature_1 and l_flags_1.
* sysdeps/generic/bits/dlfcn.h: Define RTLD_NOLOAD and RTLD_NODELETE.
* sysdeps/mips/bits/dlfcn.h: Likewise.
2000-07-18 Kaz Kylheku <kaz@ashi.footprints.net>
* spinlock.c (__pthread_alt_lock, __pthread_alt_timedlock): Fixed
bug whereby thr field of waitnode structure would not be correctly
set unless a null self pointer is passed to the functions.
Eliminated redundant calls to thread_self().
* elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2.
* dlfcn/dlerror.c (dlerror): Don't free the error string if it is the
report that we are out of memory.
* elf/dl-deps.c (_dl_map_object_deps): Likewise.
* elf/dl-libc.c (dlerror_run): Likewise.
* elf/dl-open.c (_dl_open): Likewise.
* elf/rtld.c (dl_main): Likewise.
* elf/dl-error.c: Define _dl_out_of_memory.
(_dl_signal_error): Return _dl_signal_error if we cannot duplicate
the error string.
* sysdeps/generic/ldsodefs.h: Declare _dl_out_of_memory.
* dlfcn/dlerror.c (free_key_mem): Also free error string.
* iconv/loop.c: Fix comment.
Add extra level of macro expansion.
[!__ASSEMBLER__ && HAVE_WEAK_SYMBOLS] (weak_alias): nLikewise.
* sysdeps/generic/bp-thunks.h: Ensure `struct timeval' definition
is available at the time `select' prototype is declared.
* sysdeps/unix/make-syscalls.sh: Remove unused variables.
Collect non-versioned weak aliases. Consider only non-versioned
aliases for the user-visible systemcall name. Do checks inline with
call to primitive system call.
* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add void cast to
stand-alone bounds checks to suppress unused value warnings.
* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise.
2000-07-11 Greg McGary <greg@mcgary.org>
* include/libc-symbols.h [!__ASSEMBLER__] (strong_alias):
Add extra level of macro expansion.
[!__ASSEMBLER__ && HAVE_WEAK_SYMBOLS] (weak_alias): nLikewise.
* sysdeps/generic/bp-thunks.h: Ensure `struct timeval' definition
is available at the time `select' prototype is declared.
* sysdeps/unix/make-syscalls.sh: Remove unused variables.
Collect non-versioned weak aliases. Consider only non-versioned
aliases for the user-visible systemcall name. Do checks inline with
call to primitive system call.
* sysdeps/unix/sysv/linux/ptrace.c (ptrace): Add void cast to
stand-alone bounds checks to suppress unused value warnings.
* sysdeps/unix/sysv/linux/sysctl.c (__sysctl): Likewise.
2000-07-09 Mark Kettenis <kettenis@gnu.org>
* elf/rtld.c (dl_main): Move call to __libc_check_standard_fds...
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): ... to here.
2000-07-10 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Include ISO C99 features if the compiler used
is an ISO C99 compiler.
Patch by Joseph S. Myers <jsm28@cam.ac.uk>.
2000-07-08 Mark Kettenis <kettenis@gnu.org>
* iconv/gconv_conf.c: Include <bits/libc-lock.h>.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
2000-07-05 Greg McGary <greg@mcgary.org>
* sysdeps/generic/bp-checks.h: New file.
* sysdeps/generic/bp-thunks.h: Replace generic thunk definitions
with list of #include files.
* sysdeps/unix/make-syscalls.sh: Handle new arg signature
keyletters a, b, B, f, n, N, P, v, V. Fixup some indentation.
Don't generate BP thunk if `V' appears in signature.
Generate thunks with complete bounds checks.
* sysdeps/unix/syscalls.list: Refine signatures using new keyletters.
* sysdeps/unix/inet/syscalls.list: Likewise.
* sysdeps/unix/mman/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Likewise.
* sysdeps/unix/make-syscalls.sh: Handle signatures of
length 7..9, just in case...
* misc/sys/cdefs.h (__ptrvalue): Define as nothing for non-BP.
* sysdeps/generic/libc-start.c (__libc_stack_end): Chop __unbounded.
* sysdeps/unix/make-syscalls.sh: Handle signatures of
length 7..9, just in case...
* misc/sys/cdefs.h (__ptrvalue): Define as nothing for non-BP.
2000-06-29 Ulrich Drepper <drepper@redhat.com>
* stdlib/grouping.h: Correctly handle multibyte thousands
separator and decimal point.
* stdlib/stdtod.c: Likewise.
* sysdeps/generic/strtol.c: Likewise.
* locale/categories.def: Add entries for wide character decimal point
and thousands separator in numeric and monetary category.
2000-06-28 Ulrich Drepper <drepper@redhat.com>
* stdio-common/printf_fp.c (__printf_fp): Remove unnecessary
second definition and initialization of decimal.
* libio/libio.h (struct _IO_cookie_file): Move struct type defintion
out.
* libio/libioP.h (struct _IO_cookie_file): Move struct type defintion
in.
(_IO_JUMPS): Don't cast THIS--expect arg to be a
(struct _IO_FILE_plus *).
(_IO_iter_next, _IO_iter_file): _IO_ITER is now
(struct _IO_FILE_plus *).
(_IO_check_libio): Set user-visible handles to
(struct _IO_FILE_plus *).
* dlfcn/dlfcn.h: Pretty print dladdr declaraction.
* elf/rtld.c (process_envvars): Recognize LD_DYNAMIC_WEAK.
(_dl_dynamic_weak): New variable.
* elf/dl-support.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare _dl_dynamic_weak.
* elf/do-lookup.h: If we find a weak definition treat it like a
normal symbol unless _dl_dynamic_weak is nonzero. In the latter
case treat it like before.
2000-05-26 Andreas Jaeger <aj@suse.de>
* elf/ldconfig.h: Update parameter list for process_elf_file.
* sysdeps/unix/sysv/linux/sparc/readelflib.c (process_elf_file):
Add parameter file_length and pass it ot process_elf*file.
* sysdeps/generic/readelflib.c (check_ptr): New.
(process_elf_file): Use check_ptr to check all accesses to the
mmapped file. Add parameter file_length.
* elf/readlib.c (known_libs): Use <gnu/lib-names.h> to specify
library names.
* sunrpc/xdr_intXX_t.c (xdr_uint8_t): Fix conversion.
Closes PR libc/1573, reported by Bradley White
<bww@laurelnetworks.com>.
2000-05-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/dl-cache.h (_DL_CACHE_DEFAULT_ID): Only define if
not yet defined.
(_dl_cache_check_flags): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h: include_next
dl-cache.h.
2000-05-17 Andreas Jaeger <aj@suse.de>
* manual/creature.texi (Feature Test Macros): Remove paragraph
since the description is wrong.
Closes PR libc/1691, reported by Geoff Clare <gwc@unisoft.com>.
2000-05-17 Andreas Jaeger <aj@suse.de>
* time/test_time.args: Removed.
* time/Makefile (test_time-ARGS): Added contents here instead.
* posix/tstgetopt.args: Removed.
* posix/Makefile (tstgetopt-ARGS): Added contents here instead.
* Rules: Allow arguments for test files to be specified in
Makefile with testname-ARGS; remove rules with .args in it.
* dirent/Makefile (opendir-tst1-ARGS): Use this for opendir-tst1,
remove old bogus rule for opendir-tst1.args.
* stdlib/test-canon.c: Rewrite to use test-skeleton.c.
* stdlib/Makefile (test-canon-ARGS): New, supply argument to chdir
into objdir. This allows a readonly sourcetree.
Reported by lrgallardo@yahoo.com, closes PR libc/1421.
2000-05-16 Andreas Jaeger <aj@suse.de>,
David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Set
cache_data in case of only new cache format correctly.
* sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Align struct
cache_file_new.
* sysdeps/generic/dl-cache.h (ALIGN_CACHE): New macro to align
struct cache_file_new.
* elf/cache.c (save_cache): Fix str_offset if only new cache is
present.
* elf/cache.c (save_cache): Align struct new_file_cache.
(print_cache): Likewise.
2000-05-07 H.J. Lu <hjl@gnu.org>
* csu/initfini.c: Moved to ....
* sysdeps/generic/initfini.c: ...here.
* csu/Makefile (initfini.c): Set vpath to $(full_config_sysdirs).
* sysdeps/generic/memccpy.c (__memccpy): Don't use reg_char type
for x since promotion in comparison might leads to unexpected
results. Reported by Dan Pop <Dan.Pop@cern.ch>.
2000-05-06 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_open.c (__gconv_open): If __gconv_find_transform
returned != __GCONV_OK, there is nothing to clean up.
2000-05-06 Bruno Haible <haible@clisp.cons.org>
* intl/tst-gettext.c (main): Disable possibly existing LC_CTYPE and
OUTPUT_CHARSET environment variables.
2000-05-06 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/dl-cache.h (struct file_entry_new): New.
(struct cache_file_new): New.
(struct file_entry): New (moved from cache.c).
(struct cache_file): New (moved from cache.c).
* sysdeps/generic/dl-cache.c (SEARCH_CACHE): New macro, broken out
from _dl_load_cache_lookup.
(_dl_load_cache_lookup): Move search to SEARCH_CACHE macro, handle
the different cache formats.
New variable cache_new for new format.
* elf/ldconfig.h: Change according to changes in cache.c and
ldconfig.c; remove cache_libcmp; add opt_format.
* elf/ldconfig.c: Include "dl-cache.h" and "dl-procinfo.h"; remove
stuff that's defined in those headers.
Add hwcap to struct lib_entry.
(opt_format): New variable to select cache format.
(options): Add format parameter.
(is_hwcap): New function.
(path_hwcap): New function.
(parse_opt): Handle new format parameter.
(search_dir): Handle hwcap, search also subdirectories with hwcap.
* elf/cache.c (_GNU_SOURCE): Removed. Not needed anymore since
ldconfig is part of glibc.
Include dl-cache.h and remove stuff that's defined there.
(struct cache_entry): Add new member hwcap.
(print_entry): Print hwcap, cleanup a bit.
(print_cache): Print new and old formats.
(compare): Use _dl_cache_libcmp from dl-cache.h; handle hwcap.
(save_cache): Save new and old formats.
(add_to_cache): Handle hwcap.
* sysdeps/generic/dl-cache.c (_dl_cache_libcmp): Moved from here...
* sysdeps/generic/dl-cache.h (_dl_cache_libcmp): ...to here.
* sysdeps/generic/dl-cache.c (LD_SO_CACHE): Moved from here...
* sysdeps/generic/dl-cache.h (LD_SO_CACHE): ...to here.
* sysdeps/generic/dl-cache.c (CACHEMAGIC): Moved from here...
* sysdeps/generic/dl-cache.h (CACHEMAGIC): ...to here.
2000-05-05 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (alignof): New macro.
(_nl_find_msg): Use it instead of __alignof__. Pass correct output
buffer length to __gconv/iconv. If malloc (freemem_size) fails, set
freemem_size to 0.
2000-05-05 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Fix interpretation of tsearch
return value.
* sysdeps/generic/dl-procinfo.h (_DL_HWCAP_COUNT): New.
(_dl_string_hwcap): New, does nothing.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_DL_HWCAP_COUNT):
New.
(_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant.
(_dl_string_hwcap): New function, converts from string to hwcap
encoding.
* sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h (_DL_HWCAP_COUNT):
New.
(_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant.
(_dl_string_hwcap): New function, converts from string to hwcap
encoding.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h (_DL_HWCAP_COUNT):
New.
(_dl_procinfo): Use _DL_HWCAP_COUNT instead of a constant.
(_dl_string_hwcap): New function, converts from string to hwcap
encoding.
2000-05-05 Ulrich Drepper <drepper@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Little of computation of
parameter to mprotect and for variable assignments.
2000-05-03 Jes Sorensen <jes@linuxcare.com>
* sysdeps/generic/ldsodefs.h (LOOKUP_VALUE_ADDRESS): Check the
validity of map before dereferencing it.
* elf/dl-reloc.c (RESOLVE_MAP): Define.
2000-05-02 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Add the value returned in the symbol
lookup to the arguments to elf_machine_fixup_plt().
* sysdeps/ia64/dl-machine.h (elf_machine_fixup_plt): Add Link_map
of the symbol being resolved to input argument list and make the
function return the pointer to the reloc.
* sysdeps/alpha/dl-machine.h (elf_machine_fixup_plt): Change
return valuie to lookup_t and return the value.
* sysdeps/arm/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/generic/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/m68k/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_fixup_plt): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_fixup_plt): Likewise.
Make it an inline function returning value after calling
__elf_machine_fixup_plt().
* elf/dl-sym.c (_dl_vsym): Use DL_SYMBOL_ADDRESS() to obtain the
symbol address.
* elf/dl-symbol.c (_dl_symbol_value): Use LOOKUP_VALUE_ADDRESS to
obtain the symbol address.
* sysdeps/generic/ldsodefs.h: Add generic DL_SYMBOL_ADDRESS() macro
depending on the definition of ELF_FUNCTION_PTR_IS_SPECIAL.
* sysdeps/ia64/dl-machine.h: Add DL_SYMBOL_ADDRESS() macro calling
_dl_symbol_address() - this way DL_SYMBOL_ADDRESS() turns into an
inline on non ia64.
2000-04-28 Jes Sorensen <jes@linuxcare.com>
* elf/dl-runtime.c (fixup): Use the portable macros to get the
symbol address of an object.
* elf/dl-runtime.c (fixup-profile): Use the portable macros to get
the symbol address of an object.
* elf/dl-libc.c (struct do_dlsym_args): Change loadbase to a lookup_t.
* elf/dl-lookup.c (_dl_lookup_symbol): Likewise.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
2000-04-27 Jes Sorensen <jes@linuxcare.com>
* elf/rtld.c (_dl_start): Get the function pointer return address
via _dl_start_address for architectures that need a function
pointer descriptor rather than just a pointer (ia64).
* sysdeps/generic/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-lookupcfg.h: New file.
* sysdeps/ia64/dl-machine.h: New file.
* sysdeps/ia64/dl-symaddr.c: New file.
* sysdeps/ia64/dl-fptr.c: New file.
* elf/elf.h: Add IA-64 specific definitions.
2000-05-04 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/bits/confname.h (_SC* enum): Avoid comma at the
end of enum.
2000-05-04 Jakub Jelinek <jakub@redhat.com>
* iconv/gconv.h (__gconv_t): Add __extension__ to make gcc -pedantic
happy.
* libio/stdio.h: Make fseeko and ftello prototypes available is
__USE_LARGEFILE. Patch by Paul Eggert <eggert@twinsun.com>.
* sysdeps/generic/dl-environ.c (unsetenv): Follow change to the
real unsetenv implementation from 1999-07-29 [PR libc/1714].
2000-05-03 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (dcigettext): Do the defaulting of 'domainname'
before calling tfind.
2000-03-05 Jakub Jelinek <jakub@redhat.com>
* resolv/resolv.h (res_querydomain): Remove redefinition to
__res_querydomain (reported by Owen Taylor <otaylor@redhat.com>).
2000-05-03 Ulrich Drepper <drepper@redhat.com>
* po/gl.po: Update from translation team.
* manual/intro.texi (Program Basics): Change section title.
* manual/process.texi: Fix reference.
(Executing a File): Add reference exec in other section.
* manual/signal.texi: Fix reference.
* manual/startup.texi: Document syscall function.
Patches by Bryan Henderson <bryanh@giraffe-data.com>.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/libintl.h (bind_textdomain_codeset): New declaration.
* intl/bindtextdom.c (set_binding_values): New function.
(bindtextdomain): Call it.
(bind_textdomain_codeset): New function.
* intl/dcigettext.c (dcigettext): Pass binding to _nl_find_domain.
(free_mem): Free each binding's codeset.
* intl/gettextP.h (struct binding): Add codeset field.
(_nl_find_domain): Add domainbinding argument.
* intl/finddomain.c (_nl_find_domain): Add domainbinding argument.
Pass it to _nl_make_l10nflist.
* intl/loadinfo.h (struct loaded_l10nfile): Add domainbinding field.
(_nl_make_l10nflist): Add domainbinding argument.
* intl/l10nflist.c (_nl_make_l10nflist): Add domainbinding argument.
* intl/loadmsgcat.c (_nl_load_domain): Look at the domainbinding's
codeset when determining outcharset. If !_LIBC && HAVE_ICONV, call
locale_charset().
* manual/message.texi: New node "Charset conversion in gettext".
2000-04-30 Bruno Haible <haible@clisp.cons.org>
* catgets/open_catalog.c (__open_catalog): Use __builtin_expect where
appropriate. Handle possible __read error.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/gettextP.h (__builtin_expect): Define as empty if not a
compiler builtin.
* intl/loadinfo.h (__builtin_expect): Likewise.
* intl/dcigettext.c (dcigettext, _nl_find_msg): Use
__builtin_expect where appropriate.
* intl/loadmsgcat.c (_nl_load_domain): Likewise.
* intl/localealias.c (extend_alias_table): Return an error indicator.
(read_alias_file): Bail out if extend_alias_table fails.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/loadmsgcat.c: Define _GNU_SOURCE as early as possible.
* intl/localealias.c: Likewise.
2000-05-01 Bruno Haible <haible@clisp.cons.org>
* intl/loadmsgcat.c (_nl_load_domain): Initialize domain->conv_tab.
Initialize domain->plural and domain->nplurals even if there is no
nullentry.
2000-05-01 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (_nl_find_msg): Terminate __gconv loop if return
value is == __GCONV_OK or == __GCONV_EMPTY_INPUT, not != __GCONV_OK.
In case of failure, goto converted.
2000-05-01 Bruno Haible <haible@clisp.cons.org>
* wcsmbs/wcsmbsload.c (norm_add_slashes): Move away.
* iconv/gconv_int.h (norm_add_slashes): Move to here.
* intl/loadmsgcat.c (_nl_load_domain): Normalize strings passed to
__gconv_open.
2000-04-29 Bruno Haible <haible@clisp.cons.org>
* intl/dcigettext.c (transcmp): Compare the domains as well.
(dcigettext): Call strlen (msgid1) after testing msgid1 against NULL,
not before.
* intl/loadmsgcat.c (_nl_load_domain): Deal with EINTR. Include
<errno.h>.
2000-05-03 Ulrich Drepper <drepper@redhat.com>
* sysdeps/generic/hp-timing.h (HP_TIMING_NONAVAIL): Define to
signal timing is not really implemented.
2000-04-17 Andreas Jaeger <aj@suse.de>
* elf/rtld.c (process_dl_debug): Mention statistics in help message.
2000-04-17 Jakub Jelinek <jakub@redhat.com>
* Makefile (install): Use slibdir and libdir instead of inst_slibdir
and inst_libdir.
2000-04-17 Ulrich Drepper <drepper@redhat.com>
* elf/dl-version.c (_dl_check_map_versions): New argument trace_mode.
Before testing versions check that we actually loaded the object
and whether we are in trace mode. If not loaded during tracing don't
test versions in this object.
(_dl_check_all_versions): Take new parameter and pass to
_dl_check_map_versions.
* sysdeps/generic/ldsodefs.h: Update prototypes for
_dl_check_all_versions and _dl_check_map_versions.
* elf/rtld.c (struct version_check_args): Add dotrace.
(version_check_doit): Pass args->dotrace to _dl_check_all_versions.
(dl_main): Pass info about trace mode to version_check_doit.
* elf/dl-open.c (dl_open_worker): Pass zero as new argument to
_dl_check_all_versions.
* manual/users.texi (XPG Functions): Document utmpxname, getutmp,
and getutmpx.
Patch by Bryan Henderson <bryanh@giraffe-data.com>.
* posix/getconf.c: Add support for many more POSIX options.
* sysdeps/posix/sysconf.c: Likewise.
* sysdeps/generic/bits/confname.h: Add many more POSIX options.
* sysdeps/mach/hurd/bits/posix_opt.h: Add _POSIX_REGEXP and
_POSIX_SHELL.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/time.h: Rename __CLOCK_HIGHRES to
CLOCK_PROCESS_CPUTIME_ID. Add define CLOCK_MONOTONIC and
CLOCK_THREAD_CPUTIME_ID.
* sysdeps/unix/i386/clock_getcpuclockid.c: Set *clock_id to
CLOCK_PROCESS_CPUTIME_ID.
* sysdeps/unix/i386/i586/clock_getres.c: Change for renaming of
__CLOCK_HIGHRES to CLOCK_PROCESS_CPUTIME_ID. Handle
CLOCK_THREAD_CPUTIME_ID and CLOCK_MONOTONIC the same.
* sysdeps/unix/i386/i586/clock_gettime.c: Likewise.
2000-04-11 Ulrich Drepper <drepper@redhat.com>
* posix/globtest.sh: Fix last change.
2000-04-10 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/bits/in.h (IPV6_JOIN_GROUP,
IPV6_LEAVE_GROUP): New names for IPV6_ADD_MEMBERSHIP,
IPV6_DROP_MEMBERSHIP.
* sysdeps/generic/bits/in.h (IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP):
Likewise.
2000-04-11 Ulrich Drepper <drepper@redhat.com>
* elf/readlib (process_file): Close streams in case of an error.
2000-04-09 Andreas Jaeger <aj@suse.de>
* elf/readlib.c (process_file): Check if file is big enough to
contain aout and ELF headers.
Reported by Reinhard Moosauer <RMoosauer@steinecker.com>.
2000-04-10 Jes Sorensen <Jes.Sorensen@cern.ch>
* elf/dl-fini.c: Include alloca.h to get proper prototype for alloca().
2000-04-11 Ulrich Drepper <drepper@redhat.com>
* test-skeleton.c (main): If STDOUT_UNBUFFERED is defined, make stdout
stream unbuffered.
* rt/Makefile (tests): Add tst-clock.
Add rules to build tst-clock.
* rt/tst-clock.c: New file.
* sysdeps/unix/i386/i586/clock_getres.c: Correct expression to decide
about initialization of nsec.
* sysdeps/unix/i386/i586/clock_gettime.c: Correct expression to decide
about initialization of freq. Set retval to zero if successful.
* sysdeps/unix/sysv/linux/i386/get_clockfreq.c: Cache result.
2000-03-31 Andreas Schwab <schwab@suse.de>
* string/strfry.c: Declare STATE as array of char instead of int
and do not initialize it (done by initstate_r). Pass correct
size.
* sysdeps/generic/ldsodefs.h: Fix typo in comment.
2000-04-02 Ulrich Drepper <drepper@redhat.com>
* elf/dl-fini.c (_dl_fini): Increment j counter after swapping in
element at this position.
* elf/Versions [ld.so] (GLIBC_2.2): Export _dl_load_lock.
* elf/link.h (struct link_map): Add l_reldepsmax, l_reldepsact, and
l_reldeps elements.
* elf/dl-lookup.c (add_dependency): New function.
(_dl_lookup_symbol): Use it whenever symbol was found in a global,
dynamically loaded object.
(_dl_lookup_symbol_skip): Likewise.
(_dl_lookup_versioned_symbol): Likewise.
(_dl_lookup_versioned_symbol_skip): Likewise.
* elf/dl-open.c: Don't define _dl_load_lock here...
* elf/rtld.c: ...but here...
* elf/dl-support.c: ...and here.
* elf/dl-close.c (_dl_close): Close also dependent objects introduce
through relocation.
* elf/dl-fini.c (_dl_fini): Also take dependencies introduced through
relocations.
* dlfcn/Makefile (glrefmain.out): Test is not expected to fail
anymore.
* dlfcn/glrefmain.c: Add one more debug message.
* Makeconfig (preprocess-versions): Don't add $(CPPFLAGS) to compiler
command line.
* Makerules (sysd-versions): Use ( ) instead of { }.
* elf/dl-load.c: Use __builtin_expect to signal that compiler should
optimize for the non-debugging case.
* elf/dl-lookup.c: Likewise.
* sysdeps/generic/libc-start.c: Likewise.
* include/netdb.h: Change type of first parameter of __getnetbyaddr_r.
* inet/getnetbyad.c: Likewise.
* inet/getnetbyad_r.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nssplus_nis/nisplus-network.c: Likewise.
* nss/nss_files/files-network.c: Likewise.
* resolv/netdb.h: Define uint32_t if not already happened.
Include bits/netdb.h. Remove definition of struct netent.
Change type of first parameter of getnetbyaddr_r and getnetbyaddr.
* sysdeps/generic/stdint.h: Allow definition of uint32_t elsewhere.
* sysdeps/generic/bits/netdb.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/netdb.h: New file.
2000-03-30 Ulrich Drepper <drepper@redhat.com>
Implement dynamic determination of constructor/destructor order in
the dynamic linker.
* elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next.
(GLIBC_2.2): Add _dl_init.
* elf/dl-close.c: Also call all destructors in FINI_ARRAY.
r_duplist is not anymore allocated separately. l_initfini is and
therefore free it if necessary.
* elf/dl-deps.c: If a searchlist has to be allocated, put all in one
malloc block. Otherwise allocate l_initfini list only.
Put dependencies for the object in l_initfini list.
Sort dependencies for the object to be loaded topologically.
* elf/dl-fini.c: Before running the destructors sort the topologically.
* elf/dl-init.c (_dl_init): Renamed from _dl_init_next. Rewrite to
call constructors instead of iterating over the pointers. Get list of
objects for which to run constructors from l_initfini element. Accept
argc, argv, and env as parameters and pass them to the constructors.
* elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member
with size of dynamic section.
* elf/dl-open.c (dl_open_worker): Only call _dl_init instead of
_dl_init_next and calling constructors ourself.
* elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next.
Take argc, argv, and env as parameters and pass them to the
constructors. Rewrite to call all constructors and not iterate over
the pointers.
* elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry. Don't
precompute l_initcount and l_preinitcount.
* elf/link.h (struct link_map): Add l_ldnum member.
Make l_phdr_allocated part of the bitfield. Remove l_runcount,
l_initcount, and l_preinitcount. Add l_initfini.
* sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with
one for _dl_init.
* sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init
function interface.
* sysdeps/unix/sysv/linux/init-first.h: Removed.
* sysdeps/unix/sysv/linux/Dist: Delete file here as well.
* sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use
SYSDEP_CALL_INIT. Make _init a strong alias of init. The calling
conventions now match.
* sysdeps/generic/libc-start.c: Calling __libc_init_first has no
effect for shared objects. Don't emit message and call only for
static library.
* sysdeps/unix/sysv/linux/net/if.h: Moved to ...
* sysdeps/gnu/net/if.h: here.
(_IOT_ifconf, _IOT_ifreq): Hurd ioctl type macros moved from ...
* sysdeps/mach/hurd/net/if.h: ... here; this file now removed.
* sysdeps/generic/net/if.h: New file. Declares just the standard
functions and `struct if_nameindex' type.
* socket/Makefile (headers): Add net/if.h here.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Not here.
* sysdeps/mach/hurd/Dist: Remove it here.
* sysdeps/unix/sysv/linux/Dist: And here.
* sysdeps/generic/if_index.c: Include <net/if.h>.
2000-03-13 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lockfile.c: Include <stdio.h>
(_IO_flockfile, _IO_funlockfile, _IO_ftrylockfile): #undef these in
case <libio.h> defined them.
(__flockfile, __funlockfile, __ftrylockfile): Functions renamed
from __internal_*.
(flockfile, _IO_flockfile, funlockfile, _IO_funlockfile,
ftrylockfile, _IO_ftrylockfile): Fix aliases accordingly.
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Use ...
for more pleasing parse error.
* elf/Makefile: Add rules to compile and run constload1 test.
* sysdeps/generic/lockfile.c: Include <stdio.h>
(_IO_flockfile, _IO_funlockfile, _IO_ftrylockfile): #undef these in
case <libio.h> defined them.
(__flockfile, __funlockfile, __ftrylockfile): Functions renamed
from __internal_*.
(flockfile, _IO_flockfile, funlockfile, _IO_funlockfile,
ftrylockfile, _IO_ftrylockfile): Fix aliases accordingly.
(input, output): Functions removed.
(mach_open_devstream): Use devstream_{read,write} as cookie functions,
using only the vanilla fopencookie interface.
* hurd/fopenport.c [! USE_IN_LIBIO] (cookie_io_functions_t): Define
as macro for __io_functions.
(funcsio): Use cookie_io_functions_t type name.
(fopenport): Renamed from __fopenport. Rewrite to call fopencookie.
* libio/iofopncook.c (_IO_cookie_init): New function, broken out of
fopencookie.
(fopencookie): Use it.
* libio/libio.h: Declare _IO_cookie_init.
* hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Implement using
_IO_cookie_init.
* libio/libio.h (__io_seek_fn): Fix second argument type
to be a pointer, in line with the manual and the old stdio.
* libio/iofopncook.c (_IO_cookie_seek): Fix (sole) caller.
* sysdeps/generic/bits/stdio-lock.h: New file.
This is a stub with #error, but that's better than no file at all.
* sysdeps/unix/sysv/linux/alpha/syscall.S:
* manual/message.texi (Using gettextized software):
* manual/filesys.texi (File Size):
* manual/charset.texi (glibc iconv Implementation):
* locale/programs/ld-collate.c (collate_output):
* manual/stdio.texi (Output Conversion Syntax):
argument type, for 2000-02-22 change in signal/signal.h declaration.
* sysdeps/generic/getdents64.c (__getdirentries64): Renamed
to getdirentries64 (no __), since the Linux implementation
has no __ name, and there is no declaration for the __ name.
* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_end): New macro.
* sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Tighten up
sed regexp so as not to break directory names including /../ within.
* sysdeps/unix/bsd/bits/waitflags.h: File removed.
The sysdeps/generic file is right for BSD. This file was in fact the
Hurd file, but the only difference was the WNOREAP flag that was never
actually implemented or used anywhere.
2000-02-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/start.c: Initialize __errno and add comment
explaining why. Remove K&R compatibility.
* sysdeps/powerpc/fpu/s_isnan.c: Avoid using asm statement to
declare aliases.
* sysdeps/powerpc/Makefile: Always pass flags to compile for ppc
and not rs6000.
[$(subdir)=misc] (sysdep_routines): Add gprsave0, gprrest0,
gprsave1 , and gprrest1.
Don't pass special flags to compiler for init and gmon-start if
this is no ELF platform.
* sysdeps/mach/hurd/bits/statfs.h: Define _STATFS_F_NAMELEN.
* sysdeps/unix/sysv/linux/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: Likewise.
* sysdeps/posix/fpathconf.c: Don't unconditionally use f_namelen
in statfs. Check feature macro and use f_name_max or NAME_MAX
instead.
* sysdeps/posix/pathconf.c: Likewise.
* dlfcn/dlfcn.h: Remove DL_CALL_FCT definition here.
* sysdeps/generic/bits/dlfcn.h: Define DL_CALL_FCT here.
* sysdeps/mips/bits/dlfcn.h: Define DL_CALL_FCT here.
* iconv/skeleton.c: If DL_CALL_FCT is not yet defined, add dumy
definition here.
* sysdeps/generic/libc-start.c: Fix typo in comment.
* include/set-hooks.h: Allow systems to not define
symbol_set_define.
* configure.in: Unify machine names rs6000 and powerpc.
2000-02-25 Ulrich Drepper <drepper@redhat.com>
* conform/conformtest.pl (@headers): Add "sys/msg.h", "sys/mman.h",
"sys/ipc.h", "syslog.h", and "stropts.h".
Handle / in header names correctly.
* conform/data/stropts.h-data: New file.
* conform/data/syslog.h-data: New file.
* conform/data/sys/ipc.h-data: New file.
* conform/data/sys/mman.h-data: New file.
* conform/data/sys/msg.h-data: New file.
* misc/sys/mman.h: Define off_t and mode_t if not already done.
* streams/stropts.h: Define gid_t and uid_t if not already done.
* sysdeps/gnu/bits/ipc.h (IPC_INFO): Only define if __USE_GNU.
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise.
* sysvipc/sys/msg.h: Don't include sys/types.h.
Define time_t, pid_t, and ssize_t if not already done.
(struct msgbuf): Define only if __USE_GNU.
* sysdeps/generic/bits/msq.h: Include bits/types.h, not sys/types.h.
(MSG_EXCEPT): Only define if __USE_GNU.
Define msgqnum_t and msglen_t and use them in struct msqid_ds
definition.
* sysdeps/gnu/bits/msq.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/msq.h: Likewise.
* sysdeps/unix/sysv/linux/bits/msq.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/msq.h: Likewise.
* sysdeps/generic/bits/stropts.h (I_GWROPT): Renamed from I_GWRSET.
(FLUSHBAND): Only define is __USE_GNU.
(RPROTMASK): Likewise.
(SNDPIPE): Likewise.
(MUXID_ALL): Likewise.
(struct strrecvfd): Rename fill to __fill.
2000-02-02 Andreas Schwab <schwab@suse.de>
* malloc/Makefile (distribute): Add memprof.h.
* malloc/memprof.c: Move definition of GETSP and GETTIME to new
header memprof.h.
* sysdeps/generic/memprof.h: New file.
* sysdeps/alpha/memprof.h: New file.
* sysdeps/i386/memprof.h: New file.
* sysdeps/m68k/memprof.h: New file.
* sysdeps/mips/memprof.h: New file.
* sysdeps/powerpc/memprof.h: New file.
* sysdeps/sparc/memprof.h: New file.
2000-02-11 Ulrich Drepper <drepper@redhat.com>
* stdio-common/printf-parse.h (parse_one_spec): Set wide elements.
* stdio-common/printf_fp.c: Truely support wide characater output.
Finally handle decimal points and thousands separator characters
correctly for multibyte output.
* stdio-common/printf_size.c: Likewise.
* sysdeps/generic/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
* stdio-common/vfscanf.c: Implement I modifier for numbers to read
locale dependent digits.
* locale/C-monetary.c (_nl_C_LC_MONETARY): Change wide character
decimal point and thousands separator values to wide characters from
wide character strings.
* locale/C-numeric.c (_nl_C_LC_NUMERIC): Likewise.
* locale/indigitswc.h: Dereference wcdigits array elements.
2000-02-03 Jakub Jelinek <jakub@redhat.com>
* stdlib/canonicalize.c (canonicalize): Zero terminate
path to copy on error.
2000-02-01 Cristian Gafton <gafton@redhat.com>
* misc/syslog.c (closelog): Reset LogType to SOCK_DGRAM.
2000-01-31 Philip Blundell <philb@gnu.org>
* sysdeps/arm/fpu/fpu_control.h (_FPU_DEFAULT): Set the AC bit.
2000-01-31 Andreas Jaeger <aj@suse.de>
* intl/Makefile (generated): msgs.h is generated.
* localedata/Makefile (generated-dirs): Add de_DE.437.
2000-01-31 Jakub Jelinek <jakub@redhat.com>
* config.make.in: Allow default localedir to come from configure.
* configure.in: Export libc_cv_localedir.
* sysdeps/unix/sysv/linux/configure.in: For sparc64, put locale
stuff into $exec_prefix/lib/locale because it can be shared between
32bit and 64bit libraries.
* configure: Rebuilt.
* sysdeps/unix/sysv/linux/configure: Rebuilt.
2000-01-31 Andreas Jaeger <aj@suse.de>
* inet/tst-network.c: New file.
* inet/Makefile (tests): Add tst-network.
* inet/inet_net.c (inet_network): Don't overwrite memory or allow
to great last digits.
2000-01-23 Philip Blundell <philb@gnu.org>
Add basic support for RPC over IPv6:
* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
for remote address.
(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
prototypes.
* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
clntudp6_bufcreate): New prototypes.
* inet/netinet/in.h (bindresport6): Likewise.
* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
bindresvport6 for GLIBC_2.2.
* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
simple assignment when copying addresses.
* sunrpc/svc_udp.c (cache_get): Likewise.
* sunrpc/svc_unix.c (rendezvous_request): Likewise.
* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/socket.h
(__ss_aligntype, struct sockaddr_storage): Make these like Linux
version, replacing old type name `__ss_align'.
2000-01-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
(__lseek, lseek): Make these weak aliases for __libc_lseek.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
(__open, open): Make these weak aliases for __libc_open.
* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
trailing comma.
(anonymous enum for MSG_*): Likewise.
(anonymous enum for SO_*): Likewise.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
2000-01-12 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_32BITUIDS):
Added for Linux 2.3.39+.
* sysdeps/unix/sysv/linux/getresgid.c: Support 32bit UIDs and
32bit GIDs.
* sysdeps/unix/sysv/linux/getresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/seteuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setregid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setreuid.c: Likewise.
* sysdeps/unix/sysv/linux/i386/setuid.c: Likewise.
* sysdeps/unix/sysv/linux/setegid.c: Likewise.
* sysdeps/unix/sysv/linux/arm/chown.c: New file.
* sysdeps/unix/sysv/linux/arm/fchown.c: New file.
* sysdeps/unix/sysv/linux/arm/geteuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getegid.c: New file.
* sysdeps/unix/sysv/linux/arm/getuid.c: New file.
* sysdeps/unix/sysv/linux/arm/getgid.c: New file.
* sysdeps/unix/sysv/linux/arm/lchown.c: New file.
* sysdeps/unix/sysv/linux/i386/fchown.c: New file.
* sysdeps/unix/sysv/linux/i386/getegid.c: New file.
* sysdeps/unix/sysv/linux/i386/geteuid.c: New file.
* sysdeps/unix/sysv/linux/i386/getgid.c: New file.
* sysdeps/unix/sysv/linux/i386/getuid.c: New file.
* sysdeps/unix/sysv/linux/i386/lchown.c: New file.
* sysdeps/unix/sysv/linux/m68k/chown.c: New file.
* sysdeps/unix/sysv/linux/m68k/fchown.c: New file.
* sysdeps/unix/sysv/linux/m68k/getegid.c: New file.
* sysdeps/unix/sysv/linux/m68k/geteuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getgid.c: New file.
* sysdeps/unix/sysv/linux/m68k/getuid.c: New file.
* sysdeps/unix/sysv/linux/m68k/lchown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchown.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getegid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/geteuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getgid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/getuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/lchown.c: New file.
Based on a patch by Chris Wing <wingc@engin.umich.edu>.
2000-01-14 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sys/procfs.h: New file.
2000-01-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/backtrace.c: Include signal.h which
sigcontextinfo.h headers are used to expect.
* sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
(register_dump): Fix a typo in the printout.
Avoid using reg_window, so that asm/ptrace.h is not necessary.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
(ADVANCE_STACK_FRAME): Likewise.
* stdlib/longlong.h: Avoid using __sparc_v9__ ifdefs.
* sysdeps/sparc/sparc32/bits/wordsize.h: Likewise.
* sysdeps/sparc/sparc64/bits/wordsize.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Include bits/wordsize.h
to make it clear this file depends on __WORDSIZE.
* sysdeps/unix/sysv/linux/ftruncate64.c (__have_no_truncate64):
Renamed from have_no_truncate64.
* sysdeps/unix/sysv/linux/truncate64.c (__have_no_truncate64):
Likewise.
2000-01-04 Andreas Jaeger <aj@suse.de>
* nss/nss_db/dummy-db.h (struct db24): Add missing field flags.
(struct db27): Add missing fields byteswapped, join and flags;
remove wrong member handleq.
(struct dbc27): Correct lock field.
* nss/makedb.c: Remove __P.
2000-01-04 Andreas Jaeger <aj@suse.de>
* nss/nss_db/db-open.c (internal_setent): Check for db_open for
success, fix a memory leak and clean up function.
2000-01-04 Ulrich Drepper <drepper@cygnus.com>
* Makefile (install): Pass $(install_root) to ldconfig.
Patch by Akira YOSHIYAMA <yosshy@tkf.att.ne.jp>.
2000-01-03 Jakub Jelinek <jakub@redhat.com>
* soft-fp/op-1.h: Fix division for machines using not normalizing
version of udiv_qrnnd in longlong.h.
* soft-fp/sysdeps/mips/sfp-machine.h: Likewise.
* soft-fp/sysdeps/mips/mips64/sfp-machine.h: Likewise.
* soft-fp/sysdeps/sparc/sparc64/sfp-machine.h: Likewise.
Patch by Eddie C. Dost <ecd@skynet.be>.
* soft-fp/soft-fp.h (QItype, UQItype): New types used by longlong.h.
2000-01-03 Andreas Schwab <schwab@suse.de>
* sysdeps/generic/dl-sysdep.c: Initialize __libc_multiple_libcs,
needed for change in common symbol handing in newer binutils.
1999-12-23 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/ld-monetary.c (monetary_finish): Add cast to
prevent warning.
* locale/programs/ld-collate.c: Implement writing out multibyte
collation data.
* locale/setlocale.c (setlocale): Allow setting LC_COLLATE again.
* locale/localeinfo.h: Declare variables only for currently implemented
collate functionality. Remove FORWARD_CHAR and ELLIPSIS_CHAR.
* locale/lc-collate.c: Define variables only for currently implemented
functionality.
* locale/langinfo.h: Define symbols only for currently implemented
functionality.
* locale/categories.def: Define elements for currently implemented
functionality.
* locale/C-collate.c: Comment out definitions of arrays with symbol
name definitions etc.
(_nl_C_LC_COLLATE): Update for currently defined information.
* intl/libintl.h: Remove dcgettext macro definition.
* intl/gettextP.h: Declare _nl_msg_cat_cntr.
* locale/iso-4217.def: Add NAD. Remove a few obsolete entries.
* sysdeps/generic/glob.c (glob): Pass alternate file access functions
also in recursive call. Patch by Joe Orton <joe@orton.demon.co.uk>.
1999-12-22 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/fpu/ftestexcept.c (fetestexcept): Use proper type
for __fenv_stfsr argument.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add
truncate64, ftruncate64, fstat64, lstat64, stat64 and mmap2.
Remove ugetrlimit.
* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
(XSTAT_IS_XSTAT64): Define.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Add
__libc_lseek64, __libc_pread, __libc_pread64, __libc_pwrite
and __libc_pwrite64.
Remove oldgetrlimit and oldsetrlimit.
* sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c: New file.
* sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): Pass the buf
pointer to the syscall, not address of that pointer.
* sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise.
* sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise.
(__syscall_stat64): Provide proper prototype.
* sysdeps/unix/sysv/linux/ftruncate64.c (ftruncate64): Share
has_no_truncate64 between truncate64 and ftruncate64.
* sysdeps/unix/sysv/linux/truncate64.c (truncate64): Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_MMAP2_SYSCALL,
__ASSUME_STAT64_SYSCALL): Define on Sparc for kernels >= 2.3.35.
1999-12-22 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __libc_lseek64,
__libc_pread, __libc_pread64, __libc_pwrite and __libc_pwrite64.
1999-12-19 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/libc-start.c: Remove declaration of
__libc_open. Move declaration of __libc_fcntl to ...
* include/fcntl.h: ...here.
* include/unistd.h: Move __libc_open and __libc_open64 to ...
* include/fcntl.h: ...here.
* malloc/malloc.h (__attribute_malloc__): Only define if hasn't
happened yet.
* malloc/Versions: __libc_freeres was exported with glibc 2.1.3,
rename label.
1999-12-17 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h (__strtok_r_1c): Help gcc optimizing string
access.
* locale/programs/ld-collate.c: Implement handling of absolute
ellipsis. Parsing of file and constructing the internal data
structures should now be complete.
(collate_finish): Start adding support to generate the data
structures which are written out to the file.
* intl/dcgettext.c: Rewrite to handle caching of previous results here
instead of in the dcgettext macro.
* intl/libintl.h (dcgettext): Don't define for systems using this
glibc or systems with tsearch.
* sysdeps/generic/mathdef.h: Protect definitions for math.h
against double inclusion.
* sysdeps/alpha/fpu/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/bits/mathdef.h: Likewise.
* sysdeps/m68k/fpu/bits/mathdef.h: Likewise.
* sysdeps/powerpc/fpu/bits/mathdef.h: Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Add more deltas (are mobile PIIs
that different?).
1999-12-17 Andreas Jaeger <aj@suse.de>
* rt/aio.h (struct aiocb64): Add member __next_prio to sync the
struct with aiocb.
* rt/Makefile (tests): Added tst-aio64.
Added dependency rules for tst-aio64.
* rt/tst-aio64.c: New file, copied from tst-aio.c and changed for
64bit tests.
1999-12-15 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/bits/resource.h: Change RLIM_INFINITY back to
old value (signed long).
* sysdeps/unix/sysv/linux/i386/bits/resource.h: New, with unsigned
long RLIM_INFINITY.
* sysdeps/unix/sysv/linux/getrlimit.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/getrlimit.c: ... here.
* sysdeps/unix/sysv/linux/getrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/getrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/oldgetrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/oldsetrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/setrlimit.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/setrlimit.c: ... here.
* sysdeps/unix/sysv/linux/setrlimit64.c: Moved from here to ...
* sysdeps/unix/sysv/linux/i386/setrlimit64.c: ... here.
* sysdeps/unix/sysv/linux/sparc/bits/resource.h: New.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: Removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: Removed.
1999-12-17 Andreas Jaeger <aj@suse.de>
* elf/ldconfig.c: Add new option -l to manualy link shared
libraries.
(options): Added option.
(parse_opt): Set option.
(main): Handle option.
(manual_link): New function.
1999-12-17 Thorsten Kukuk <kukuk@suse.de>
* string/bits/string2.h: Fix patch from 1999-12-07.
1999-12-16 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/strsep.c: If delim string has only one character
don't run over end of string.
* locale/programs/ld-collate.c (insert_weights): Also update next
pointer of last cursor element.
(insert_value): Return nonzero value if nothing got inserted.
(handle_ellipsis): Don't do anything if to-value cannot be inserted.
1999-12-10 Jakub Jelinek <jakub@redhat.com>
* stdlib/longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT
where appropriate.
1999-12-10 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction):
Copy sa_flags into kernel sigaction structure.
1999-12-14 Andreas Jaeger <aj@suse.de>
* string/tester.c (test_strsep): More tests for access beyond
the final NUL. The first two tests come from PR libc/1486 by
martinea@iro.umontreal.ca.
1999-12-14 Thorsten Kukuk <kukuk@suse.de>
* nis/ypclnt.c: Correct handling of cached client handles.
(__xdr_ypresp_all): Call callback function for errors, too,
like Solaris does.
* nis/nss_compat/compat-grp.c: Make sure errno is always set correct.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-netgrp.c: Likewise.
* nis/nss_nis/nis-publickey.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise. Also use services.byservicename
Map if available, optimize query if name/port and protocol is known.
1999-11-30 Andreas Jaeger <aj@suse.de>
Add ldconfig:
* elf/Makefile (extra-objs): Added ldconfig-modules.
(ldconfig-modules): New.
Added vpath for xstrdup and xmalloc.
Check for use-ldconfig instead of has-ldconfig.
($(objpfx)ldconfig): New rule with dependencies.
(distribute): Add new files.
* sysdeps/unix/sysv/linux/sparc/readelflib.c: New file,
developed together with Jakub Jelinek <jakub@redhat.com>.
* sysdeps/generic/readelflib.c: Likewise.
* elf/cache.c: New file.
* elf/ldconfig.c: New file.
* elf/ldconfig.h: New file.
* elf/readlib.c: New file.
* Makefile (install): Remove flag -d in ldconfig call.
* configure.in: Rename has_ldconfig to use_ldconfig, set it to no
by default.
* config.make.in (has-ldconfig): Renamed to use-ldconfig, changed
comment.
1999-12-01 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/if_index.c (__protocol_available): Add missing
int for parameter.
* stdio/stdio.h: Fix typo.
Patches by Marcus G. Daniels <mgd@santafe.edu>.
1999-12-01 Andreas Jaeger <aj@suse.de>
* scripts/test-installation.pl (installation_problem): Filter out
libpthread_db.
1999-12-01 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Fix signedness of
__rlim_t and __rlim64_t.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
1999-12-01 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
oldgetrlimit64 and oldsetrlimit64 for subdir = resource.
* sysdeps/unix/sysv/linux/Versions: Add getrlimit, setrlimit,
getrlimit64 and setrlimit64 to version GLIBC_2.1.3.
* sysdeps/unix/sysv/linux/setrlimit.c: Correct handling of old and
new kernel version. Add symbol versions.
* sysdeps/unix/sysv/linux/syscalls.list: Add oldsetrlimit and
oldgetrlimit.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_getrlimit
and s_ugetrlimit.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/oldgetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/oldsetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/setrlimit64.c: New file.
* sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: New
file.
* sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: New
file.
1999-09-11 Paul Eggert <eggert@twinsun.com>
* posix/glob.h (glob): If #defining to glob64, do this before
declaring it, so that all declarations and uses match, and do not
declare glob64, to avoid a declaration clash.
(globfree): Likewise with globfree64.
1999-09-08 Eli Zaretskii <eliz@is.elta.co.il>
* sysdeps/generic/glob.c (prefix_array) [__MSDOS__,WINDOWS32]:
Keep the trailing slash unless DIRNAME is just "x:/".
1999-10-27 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/ifreq.h: New file.
* resolv/res_hconf.c: Add missing includes to get all prototypes.
(_res_hconf_reorder_addrs): Rewrite. This never worked before.
Reported by John DiMarco <jdd@cs.toronto.edu>.
(_res_hconf_reorder_addrs): Made thread safe.
(free_mem): New function, needed for malloc debugging.
1999-10-29 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/if_index.c (opensock): Move function to ...
* sysdeps/generic/opensock.c (__opensock): ...here in a new file.
* sysdeps/unix/sysv/linux/if_index.c: Change all callers of
opensock to use __opensock.
* socket/Makefile (routines): Add opensock.
* include/sys/socket.h (__opensock): Add prototype declaration.
1999-10-18 Andreas Jaeger <aj@suse.de>
Added improved math testsuite:
* math/libm-test.inc: New file, contains all tests from
libm-test.c but in a different form.
* math/libm-test.c: Removed.
* sysdeps/generic/libm-test-ulps: New file: Fallback ulps file.
* math/gen-libm-test.pl: New file: Preprocessor.
* math/test-double.c: Adopted to new testsuite.
* math/test-idouble.c: Likewise.
* math/test-float.c: Likewise.
* math/test-ifloat.c: Likewise.
* math/test-ldouble.c: Likewise.
* math/test-ildoubl.c: Likewise.
* math/Makefile: Added rules to generate new suite.
1999-10-12 Andreas Jaeger <aj@suse.de>
* stdlib/tst-environ.c: Include <string.h> for strcpy declaration.
* math/basic-test.c: Fix typo.
* locale/programs/xstrdup.c: Include string.h for glibc
compilation to get string prototypes.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Add definition of
gregset_t and fpregset_t.
* sysdeps/generic/s_nexttowardf.c: Add parenthesis to shut up gcc
warnings. Correct value for x == 0.
* argp/argp-help.c: Remove broken definition of flockfile and
funlockfile.
1999-10-12 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Update to match
generic Linux version.
1999-10-12 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/bits/sigaction.h: Remove K&R compatibility.
1999-10-04 Ulrich Drepper <drepper@cygnus.com>
* include/string.h: Add __memrchr declaration.
* string/string.h: Moce __memrchr declaration to include/string.h.
1999-10-03 Ulrich Drepper <drepper@cygnus.com>
* string/Makefile (routines): Add memrchr.
* sysdeps/generic/memrchr.c: Don't undef memchr, undef memrchr.
Correct order of tests for matching bytes.
* string/tester.c: Add tests for memrchr.
* sysdeps/i386/i486/bits/string.h (__memrchr): Correct implementation.
Start from the last character and take decrement not increment
into account for correction in return line. Add memrchr alias.
* sysdeps/i386/bits/string.h: Likewise.
1999-09-19 Ulrich Drepper <drepper@cygnus.com>
* po/pl.po: Updated.
1999-09-17 Andreas Schwab <schwab@suse.de>
* Makefile (clean): Also remove $(postclean) files.
1999-09-15 Andreas Jaeger <aj@suse.de>
* pwd/Makefile (otherlibs): Add for building with static-nss.
* inet/Makefile (otherlibs): Likewise.
1999-09-15 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/aio_sigqueue.c (__aio_sigqueue): Use old style
function definition to avoid a compilation failure.
1999-09-15 Andreas Jaeger <aj@suse.de>
* stdlib/tst-environ.c (main): Add getenv regression test for
environment variable that's one character long.
1999-09-15 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/sigaction.c: Protect real time
signal definitions to let glibc compile with older Linux versions
(2.0.10 to 2.1.100 or so).
1999-09-10 Andreas Schwab <schwab@suse.de>
* sysdeps/generic/getenv.c (getenv): Fix lookup for single
character variable on bigendian platforms without unaligned memory
access.
1999-08-25 Ulrich Drepper <drepper@cygnus.com>
* inet/Makefile (routines): Add getipnodebynm.
* inet/getipnodebynm.c: New file.
* nss/digits_dots.c: If HAVE_TYPE is define type contains the
interface type.
* nss/nss_files/files-XXX.c: Define EXTRA_ARGS, EXTRA_ARGS_DECL, and
EXTRA_ARGS_VALUE is not already done.
(internal_getent): Allow extra parameters and pass them to parse_line.
(_nss_files_get,ENTNAME_r): Pass extra parameters to internal_getent.
(_nss_files_get##name##_r): Likewise.
* nss/nss_files/files-hosts.c: Define EXTRA_ARGS, EXTRA_ARGS_DECL,
and EXTRA_ARGS_VALUE to pass flags and type to parser.
Add getipnodebyname function.
* nss/nss_files/files-parse.c: Define EXTRA_ARGS, EXTRA_ARGS_DECL, and
EXTRA_ARGS_VALUE is not already done.
(parse_line): Add EXTRA_ARGS_DECL to parameter list.
* nss/nss_db/db-XXX.c (lookup): Allow extra parameters and pass them
to parse_line.
(_nss_db_get##name##_r): Pass extra parameters to lookup.
(_nss_db_get,ENTNAME_r): Likewise.
* sysdeps/generic/if_index.c (__protocol_available): New function.
* sysdeps/unix/sysv/linux/if_index.c: Likewise.
* login/pty-private.h: Move to...
* sysdeps/generic/pty-private.h: ...here.
* sysdeps/unix/sysv/linux/pty-private.h: New file. Linux specific
version.
* login/programs/pt_chown.c (do_pt_chown): Use unix98_pseudo_p is
available.
* dirent/Makefile (routines): Add getdents64.
* sysdeps/unix/sysv/linux/Makefile [dirent] (sysdep_routines):
Remove getdents64.
* dirent/dirent.h: Redirect getdirentries to getdirentries64 if
compiled with _FILE_OFFSET_BITS=64.
* sysdeps/generic/getdents64.c: New file.
* sysdeps/unix/sysv/linux/getdirentries.c: Also redefine off_t and
__lseek for getdirentries64 definition.
* sysdeps/unix/sysv/linux/llseek.c: Make __lseek64 a strong alias.
* sysdeps/unix/sysv/linux/sys/sendfile.h: Don't allow use with
_FILE_OFFSET_BITS=64.
1999-08-19 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/setenv.c: Update(__add_to_environ): Initialize
ep after we have the lock.
* sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h: New file.
Patch by Richard Henderson.
1999-08-18 Ulrich Drepper <drepper@cygnus.com>
* ctype/ctype.h: Avoid useless #endif #if pairs.
* dirent/dirent.h: Define ino_t and ino64_t if not done already.
(seekdir): Fix type of second parameter.
* sysdeps/generic/seekdir.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* dlfcn/dlfcn.h: Define RTLD_NEXT and RTLD_DEFAULT only if __USE_GNU.
* posix/sys/types.h: Define type useconds_t if not done already.
* posix/unistd.h: Likewise. Use this in ualarm and usleep
declarations.
* sysdeps/generic/bits/types.h: Define type __useconds_t.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise.
1999-08-15 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/aio_sigqueue.c: Take extra parameter and
initialize si_pid from it.
* sysdeps/generic/aio_sigqueue.c (__aio_sigqueue): Take extra
parameter.
* rt/aio_misc.c (__aio_enqueue_request): Initialize caller_pid.
* rt/aio_misc.h (struct waitlist): Add caller_pid element.
(struct requestlist): Likewise.
Adjust prototypes of __aio_notify_only and __aio_sigqueue.
* rt/notify.c (__aio_notify_only): Take extra parameter. Pass it
to __aio_sigqueue.
(__aio_notify): Pass caller PID to __aio_notify_only.
* rt/aio_suspend.c: Initialize caller_pid.
* rt/lio_listio.c: Likewise.
* rt/lio_listio64.c: Likewise.
* rt/lio_listio.c: If nothing has to be done free mutex before
signalling.
* rt/lio_listio64.c: Likewise.
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* nis/nis_callback.c (internal_nis_do_callback) use poll()
instead of select().
1999-08-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/s_nextafter.c: Define __nexttoward and
nexttoward so something else so that aliasing works.
1999-08-02 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/generic/math_ldbl.h: Fix typo.
* sysdeps/generic/strtold.c: Remove unbalanced #endif.
* sysdeps/alpha/fpu/e_sqrt.c: Use new path for e_sqrt.c.
1999-08-02 Ulrich Drepper <drepper@cygnus.com>
* elf/resolvfail.c: Include stdio.h. Also test dlerror.
1999-07-30 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/getsysstats.c (GET_NPROCS_PARSER): New
definition.
(__get_nprocs): Use it.
(__get_nprocs_conf): Define as separate function if
GET_NPROCS_CONF_PARSER is defined.
* sysdeps/unix/sysv/linux/alpha/getsysstats.c: New file.
* include/sys/sysinfo.h: New file.
* sysdeps/generic/sys/sysinfo.h: Remove declaration of internal
interface.
* sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise.
1999-07-30 H.J. Lu <hjl@gnu.org>
* libio/iofflush.c (fflush_unlocked): Weak aliase if
_IO_MTSAFE_IO is not defined.
* libio/clearerr.c (clearerr_unlocked): Likewise.
* libio/feof.c (feof_unlocked): Likewise.
* libio/ferror.c (ferror_unlocked): Likewise.
* libio/fputc.c (fputc_unlocked): Likewise.
* libio/getc.c (getc_unlocked, fgetc_unlocked): Likewise.
* libio/getchar.c (getchar_unlocked): Likewise.
* libio/putc.c (putc_unlocked): Likewise.
* libio/putchar.c (putchar_unlocked): Likewise.
1999-07-30 Thorsten Kukuk <kukuk@suse.de>
* sunrpc/Versions: Add svc_getreq_common, svc_getreq_poll,
svc_max_pollfd and svc_pollfd to GLIBC_2.2
* sunrpc/rpc/svc.h: Use rpc*_t types, add new prototypes
for svc_run/poll interface.
* sunrpc/rpc/types.h: Add rpc*_t typedefs.
* sunrpc/rpc_common.c: Add svc_pollfd and svc_max_pollfd as
global variable.
* sunrpc/svc.c: Add svc_getreq_poll and svc_getreq_common,
rewrite other svc_getreq* functions to use svc_getreq_common.
* sunrpc/svc_run.c: Use poll().
1999-07-30 Andreas Schwab <schwab@suse.de>
* Makerules: Put sysd-versions and Versions.all on
postclean-generated instead of common-generated.
1999-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/time.texi (Basic CPU Time): Note that clock_t can wrap
around and CLOCKS_PER_SEC is 1e6.
* malloc/malloc.c (ptmalloc_init): Also initialize __libc_pagesize
if no threads are used.
* libio/iofwrite.c: Add weak alias for _unlocked function if not
_IO_MTSAFE_IO.
* libio/iofread.c: Likewise.
* libio/iofgets.c: Likewise.
* libio/iofputs.c: Likewise.
* sysdeps/generic/bits/libc-lock.h (__libc_cleanup_end): New
definition.
* sysdeps/generic/setenv.c: Move setenv code in new function
__add_to_environ. Add new parameter specifying already
constructed string for the environment.
(setenv): Call __add_to_environ with new parameter set to NULL.
(unsetenv): Really test all elements for duplicated name. Missed those
cases where the two are following each other.
* sysdeps/generic/putenv.c: Use __add_to_environ instead of setenv.
* include/stdlib.h: Add prototype of __add_to_environ.
* stdlib/tst-environ.c: New file.
* string/bits/string2.h: Fix aliasing problems.
* sysdeps/i386/i486/bits/string.h: Likewise.
* sysdeps/i386/bits/string.h: Likewise.
1998-12-28 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/dl-machine.c: Handle shared library profiling.
* elf/rtld.c (dl_main): Don't call malloc() between
re-relocating the dynamic linker and running the application's crt0.
1999-07-21 Paul D. Smith <psmith@gnu.org>
* sysdeps/generic/glob.c: Move getlogin{,_r} prototypes below
glob.h to get __P() macro.
* posix/fnmatch.c (internal_fnmatch): Use K&R definition syntax,
not ANSI.
(__strchrnul): This won't exist outside GLIBC, so create one.
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/sparc/bits/types.h: Always define __qaddr_t.
__ino64_t should be 32bit unsigned type on sparc32.
Define __off64_t to __quad_t instead of __int64_t.
Make __pic_pid_t unsigned on sparc32.
1999-07-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* localedata/tst-rpmatch.sh: Use "&" instead of "" to avoid a bug
in bash 2.03.
1999-07-25 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/bits/termios.h (ONOEOT): Change value to 1<<3, to
match BSD value; previous value of 1<<8 was a typo. I bet nothing
ever used this, so I'm not going to worry about compatibility.
[__USE_GNU] (IUCLC, OLCUC): New macros.
1999-07-15 Jakub Jelinek <jj@ultra.linux.cz>
* math/Makefile: Add t_sincosl and k_sincosl support routines.
* math/math_private.h (__kernel_sincosl): New declaration.
* sysdeps/generic/t_sincosl.c: New file.
* sysdeps/generic/k_sincosl.c: New file.
* sysdeps/ieee754/ldbl-128/k_cosl.c: New file.
* sysdeps/ieee754/ldbl-128/k_sinl.c: New file.
* sysdeps/ieee754/ldbl-128/k_sincosl.c: New file.
* sysdeps/ieee754/ldbl-128/t_sincosl.c: New file.
* sysdeps/ieee754/ldbl-128/e_rem_pio2l.c: New file.
* sysdeps/ieee754/ldbl-128/s_sincosl.c (__sincosl): Use
__kernel_sincosl.
* sysdeps/ieee754/ldbl-128/math_ldbl.h (GET_LDOUBLE_LSW64): New
definition.
* sysdeps/generic/libc-start.c: For SUID binaries check whether
the standard file descriptors are open.
Reported by Chris Evans <chris@ferret.lmh.ox.ac.uk>.
1999-07-06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c: Update for some more
motherboards.
Patch by Jay Estabrook.
* sysdeps/unix/sysv/linux/configure.in: Don't test for libc4 in
ldd for SPARC.
* /sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed: New file.
Patch by Cristian Gafton.
1999-07-02 Cristian Gafton <gafton@redhat.com>
* sysdeps/unix/sysv/linux/bits/socket.h (__cmsg_nxthdr): "return 0"
instead of "return NULL" to make C++ happy.
1999-07-04 Mark Kettenis <kettenis@gnu.org>
* libio/iofdopen.c (_IO_new_fdopen): Set EINVAL if MODE is not
allowed by the file access mode of the open file.
1999-07-06 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/setfpucw.c: Include math.h to get all needed
macros defined.
1999-07-03 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/submul_1.S: Fix carry handling. Optimize.
* sysdeps/sparc/sparc64/lshift.S: Make a leaf subroutine. Optimize.
* sysdeps/sparc/sparc64/rshift.S: Likewise.
* sysdeps/sparc/sparc64/mul_1.S: Optimize.
1999-07-04 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
* malloc/malloc.c (request2size): Check for overflow and return
NULL whenever it is encountered.
1999-07-04 Zack Weinberg <zack@rabi.columbia.edu>
* sysdeps/posix/tempname.c (__gen_tempname): Add
ability to create directories. Replace OPENIT and LARGEFILE
args with a single flags parameter.
* sysdeps/generic/tempname.c: Likewise.
* include/stdio.h: Adjust prototype of __gen_tempname to
match. Define symbolic constants for second argument.
* misc/mkdtemp.c: New file, provides new function mkdtemp().
* stdlib/stdlib.h: Prototype it.
* misc/Versions: Export it.
* misc/Makefile (routines): Add mktemp.
* manual/filesys.texi: Document it.
* misc/mktemp.c: Adjust call of __gen_tempname to match new
convention.
* misc/mkstemp.c: Likewise.
* stdio-common/tempnam.c: Likewise.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/tmpfile64.c: Likewise.
* stdio-common/tmpnam.c: Likewise.
* stdio-common/tmpnam_r.c: Likewise.
1999-07-05 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Support
R_SPARC_OLO10 relocations.
* elf/elf.h (R_SPARC_OLO10): Fix comment.
1999-06-28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/gethostid.c: Test for gethostbyname_r
function correctly.
* sunrpc/getrpcport.c: Test for gethostbyname_r function
correctly.
* sunrpc/clnt_simp.c: Test for gethostbyname_r function correctly.
* sunrpc/clnt_gen.c: Test for gethostbyname_r and getprotobyname_r
functions correctly.
* inet/rexec.c (rexec): Test for gethostbyname_r result correctly.
* inet/rcmd.c: Test for gethostbyname_r result correctly. Optimize
file reading a bit.
* sysdeps/generic/glob.c: Test for getpwnam_r result correctly.
1999-06-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/string.texi (Copying and Concatenation): Mention that
strndup is a GNU extension.
1999-06-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* pwd/getpw.c (__getpw): Fix check for error return.
* sysdeps/generic/siglist.h: ... here. This file should be usable for
any platform, since it just associates the SIG* macros with text names
and descriptions. For any signal macros do not exist on every
platform, we can use #ifdef tests here and still use this single
common file for all platforms.
* sysdeps/generic/siglist.c: Rewrite using <siglist.h>. This file
should be usable for all platforms after the binary compatibility
stuff in the current sysdeps/gnu version is no longer required.
* sysdeps/generic/Makefile: Remove rules for generating siglist.c.
* sysdeps/generic/make_siglist.c: File removed.
1999-06-16 Roland McGrath <roland@baalperazim.frob.com>
1999-06-14 Geoff Keating <geoffk@ozemail.com.au>
* stdlib/tst-strtoll.c: New file.
* stdlib/Makefile (tests): Add tst-strtoll.c
* stdlib/strtol.c: It is not generally true that if
(unsigned)a*(unsigned)b overflows, then the result is
less than 'a'.
* sysdeps/generic/strchr.c: Include <memcopy.h> and use reg_char
for character to search, to help the compiler.
* sysdeps/generic/strchrnul.c: Likewise.
* sysdeps/generic/memchr.c: Likewise.
* sysdeps/generic/memccpy.c: Likewise.
* sysdeps/generic/rawmemchr.c: Likewise. Fix comment.
1999-06-13 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1999-06-09 Jakub Jelinek <jj@ultra.linux.cz>
* stdlib/longlong.h: gas changed sethi handling when without
%hi(). Fix assembly.
* sysdeps/generic/dl-cache.c (_dl_cache_lookup): Allow
port specific cache id checks.
* sysdeps/generic/dl-cache.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h: New file.
1999-06-07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/if_index.c: Use SIGIOCGIFINDEX and fix
another SIOGIFNAME typo.
1999-06-07 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-lookup.c: Remove duplicated assert.h inclusion.
* sysdeps/generic/printf_fphex.c (__printf_fphex): Optimize a little
bit.
1999-06-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/generic/printf_fphex.c (__printf_fphex): Don't ignore
the precision if the mantissa is zero.
1999-06-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* manual/lang.texi (Floating Point Parameters): GCC already
supports long double for a long time.
1999-06-05 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* math/libm-test.c (j0_test, j1_test, jn_test, y0_test, y1_test,
yn_test): Increase some epsilons.
1999-05-26 Jakub Jelinek <jj@ultra.linux.cz>
* stdlib/longlong.h (add_ssaaaa, sub_ddmmss, umul_ppmm):
Optimized sparc64 routines.
* stdio-common/vfprintf.c (vfprintf): Don't handle long numbers if
they are the same as ints.
* stdio-common/vfscanf.c (_IO_vfscanf): Likewise.
* wcsmbs/wcstol.c: Moved to ...
* sysdeps/generic/wcstol.c: ...here.
* wcsmbs/wcstoul.c: Moved to ...
* sysdeps/generic/wcstoul.c: ...here.
* wcsmbs/wcstoll.c: Moved to ...
* sysdeps/generic/wcstoll.c: ...here.
* wcsmbs/wcstoull.c: Moved to ...
* sysdeps/generic/wcstoull.c: ...here.
* wcsmbs/wcstol_l.c: Moved to ...
* sysdeps/generic/wcstol_l.c: ...here.
* wcsmbs/wcstoul_l.c: Moved to ...
* sysdeps/generic/wcstoul_l.c: ...here.
* wcsmbs/wcstoll_l.c: Moved to ...
* sysdeps/generic/wcstoll_l.c: ...here.
* wcsmbs/wcstoull_l.c: Moved to ...
* sysdeps/generic/wcstoull_l.c: ...here.
* sysdeps/wordexp-64/wcstol.c: New file.
* sysdeps/wordexp-64/wcstoul.c: New file.
* sysdeps/wordexp-64/wcstoll.c: New file.
* sysdeps/wordexp-64/wcstoull.c: New file.
* sysdeps/wordexp-64/wcstol_l.c: New file.
* sysdeps/wordexp-64/wcstoul_l.c: New file.
* sysdeps/wordexp-64/wcstoll_l.c: New file.
* sysdeps/wordexp-64/wcstoull_l.c: New file.
1999-05-25 Ulrich Drepper <drepper@cygnus.com>
* stdlib/strtol.c: Moved to ...
* sysdeps/generic/strtol.c: ...here.
* stdlib/strtoul.c: Moved to ...
* sysdeps/generic/strtoul.c: ...here.
* stdlib/strtoll.c: Moved to ...
* sysdeps/generic/strtoll.c: ...here.
* stdlib/strtoull.c: Moved to ...
* sysdeps/generic/strtoull.c: ...here.
* stdlib/strtol_l.c: Moved to ...
* sysdeps/generic/strtol_l.c: ...here.
* stdlib/strtoul_l.c: Moved to ...
* sysdeps/generic/strtoul_l.c: ...here.
* stdlib/strtoll_l.c: Moved to ...
* sysdeps/generic/strtoll_l.c: ...here.
* stdlib/strtoull_l.c: Moved to ...
* sysdeps/generic/strtoull_l.c: ...here.
* sysdeps/wordexp-64/strtol.c: New file.
* sysdeps/wordexp-64/strtoul.c: New file.
* sysdeps/wordexp-64/strtoll.c: New file.
* sysdeps/wordexp-64/strtoull.c: New file.
* sysdeps/wordexp-64/strtol_l.c: New file.
* sysdeps/wordexp-64/strtoul_l.c: New file.
* sysdeps/wordexp-64/strtoll_l.c: New file.
* sysdeps/wordexp-64/strtoull_l.c: New file.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/generic/bits/elfclass.h: Version common to
wordsize-32 and wordsize-64.
* sysdeps/generic/bits/environments.h: Ditto.
* sysdeps/generic/stdint.h: Ditto.
* sysdeps/generic/inttypes.h: Ditto.
* sysdeps/generic/bits/wordsize.h: New file.
* stdlib/Makefile: Add bits/wordsize.h to headers.
* sysdeps/sparc/sparc64/bits/wordsize.h: New file.
* sysdeps/sparc/sparc64/fpu/bits/fenv.h: Allow the same exported
headers to be used for 32bit and 64bit ABI compilations.
* sysdeps/sparc/sparc64/fpu/fpu_control.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Ditto.
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: Ditto.
* sysdeps/wordsize-64/bits/elfclass.h: Remove.
* sysdeps/wordsize-64/bits/environments.h: Remove.
* sysdeps/wordsize-64/stdint.h: Remove.
* sysdeps/wordsize-64/inttypes.h: Remove.
* sysdeps/wordsize-64/bits/wordsize.h: New file.
* sysdeps/wordsize-32/bits/elfclass.h: Remove.
* sysdeps/wordsize-32/bits/environments.h: Remove.
* sysdeps/wordsize-32/stdint.h: Remove.
* sysdeps/wordsize-32/inttypes.h: Remove.
* sysdeps/wordsize-32/bits/wordsize.h: New file.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/memcpy.S (__align_cpy_4, __align_cpy_8,
__align_cpy_16): New functions.
(__align_cpy_2, __align_cpy_1): New aliases to memcpy.
* sysdeps/sparc/sparc32/Versions: New file.
* sysdeps/sparc/sparc64/Versions: New file.
* sysdeps/sparc/Versions: Remove.
1999-05-19 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/unix/sysv/linux/configure.in:
On sparc64-*-linux*, set slibdir to /lib64 if prefix
is /usr, plus set libdir to ${exec_prefix}/lib64.
* sysdeps/unix/sysv/linux/configure: Regenerated.
* config.make.in: Propagate libdir settings from configure
to the Makefiles.
* shlib-versions: sparc64-*-linux* dynamic linker is
/lib64/ld-linux.so.2.
1999-05-14 Mark Kettenis <kettenis@gnu.org>
* sysdeps/generic/getutmp.c: Include <string.h>
(getutmp): Rewrite to only copy those members that are really
present in `struct utmp'.
* sysdeps/generic/getutmpx.c: Likewise.
1999-05-11 Ulrich Drepper <drepper@cygnus.com>
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy.
* elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects
lazily if LD_BIND_NOW is not set.
* elf/dl-support.c (_dl_lazy): New variable.
(non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar.
* elf/rtld.c (_dl_lazy): new global variable.
( dl_main): Remove lazy, replace it by _dl_lazy.
1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* locale/setlocale.c (new_composite_name): Check also whether the
first category name differs.
1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not
the generic one.
1999-05-11 Philip Blundell <pb@nexus.co.uk>
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): New
structure; storage suitable for any socket address.
* sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage):
Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h (struct
sockaddr_storage): Likewise.
* inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit
platform.
* Versions.def (ld.so): Add GLIBC_2.1.1.
* elf/Makefile (routines): Add dl-origin.
(tests): Add origtest. Add dependencies for the program.
* elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_origin_path,
_dl_platformlen, _dl_dst_count and _dl_dst_substitute.
* elf/dl-deps.c (expand_dst): New macro. Expand DSTs in filename.
(_dl_map_object_deps): Use expand_dst to expand DSTs in DT_NEEDED,
DT_AUXILIARY, and DT_FILTER filenames.
* elf/dl-load.c (expand_dynamic_string_token): Explode into
two functions and three macros.
(_dl_dst_count, _dl_dst_substitute): New functions.
* elf/dl-dst.h: New file.
* elf/dl-open.c (_dl_open): Take extra parameter with address of
caller. Pass address in args structure.
(dl_open_worker): Recognize and expand DSTs in filename.
* elf/ldsodefs.h (_dl_open): Adapt prototype.
* elf/dlopen.c (dlopen_doit): Pass caller address to _dl_open.
(__dlopen_check): Pass caller address to dlopen_doit in args.
* elf/dlopendoit.c: Likewise.
* iconv/gconv_dl.c: Adapt call of _dl_open.
* nss/nsswitch.c: Likewise.
* elf/origtest.c: New file.
* sysdeps/generic/dl-origin.h: Moved to...
* sysdeps/generic/dl-origin.c: ...here.
* sysdeps/unix/sysv/linux/dl-origin.h: Moved to...
* sysdeps/unix/sysv/linux/dl-origin.c: ...here.