2001-09-08 Ulrich Drepper <drepper@redhat.com>
* elf/dl-close.c (_dl_close): If object has no r_list (i.e., wasn't
loaded directly) determine length if l_initfini list by iterating
over its elements. Minor optimizations.
* elf/dl-deps.c (_dl_map_object_deps): Always add own map to l_initfini
for dependency objects.
If object was already loaded check whether any of the dependencies
is already on the relocation dependency list. If yes, remove the
latter. Minor optimizations.
* elf/dl-lookup.c (add_dependency): Add check for self reference of
maps here. Search l_initfini list only if the object was loaded
directly and not only as a dependency.
(_dl_lookup_symbol): Add relocation dependency also if object
is not in global scope. Remove test for self-reference here.
(_dl_lookup_versioned_symbol): Likewise.
* elf/dl-object (_dl_new_object): Cleanup. Initialize dont_free
element of first name record.
* elf/loadtest.c: Add some more test to recognize early if an object
wasn't unloaded.
* elf/Makefile: Add rules to build and run reldep5.
* elf/reldep5.c: New file.
* elf/reldepmod5.c: New file.
* elf/reldepmod6.c: New file.
* elf/reldep2.c: Fix typo.
* elf/dl-object.c (_dl_new_object): Initialize l_scope and l_scope_max.
2001-09-07 Ulrich Drepper <drepper@redhat.com>
* include/link.h (struct link_map): Add l_scope_mem and l_scope_max
elements. Change l_scope to be a pointer only.
* elf/dl-object.c (_dl_new_ojbect): Initialize l_scope and l_scope_max.
* elf/dl-open.c (dl_open_worker): If dependency wasn't just opened
here add searchlist of newly open file to the dependency's scope.
* elf/dl-close.c (_dl_close): If dependency is used otherwise remove
only searchlist from its scope. Free own scope array if necessary.
* elf/Makefile (tests): Add dblload and dblunload now.
2001-09-05 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile: Add rules to build new tests. Don't run them yet since
they both fail.
* elf/dblload.c: New file.
* elf/dblloadmod1.c: New file.
* elf/dblloadmod2.c: New file.
* elf/dblloadmod3.c: New file.
* elf/dblunload.c: New file.
2001-09-04 Jakub Jelinek <jakub@redhat.com>
* iconv/strtab.c (strtabinit): Initialize null Strent.
(newstring): Move len == 0 handling...
(strtabadd): ...here.
If len == 1, return null Strent.
When inserting a suffix of an existing string, check if
it is not equal to some suffix already recorded.
Copy left and right members over if adding longer string.
2001-09-04 Jakub Jelinek <jakub@redhat.com>
* sunrpc/rpc_cout.c (upcase): Account for trailing '\0'.
* sysdeps/unix/sysv/linux/alpha/gethostname.c: Include <errno.h>.
(__syscall_gethostname): Add prototype.
2001-09-01 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/elf/Dist: Remove file.
* sysdeps/alpha/elf/Makefile: Remove file.
* sysdeps/alpha/elf/crtbegin.S: Remove file.
* sysdeps/alpha/elf/crtend.S: Remove file.
* sysdeps/alpha/elf/initfini.c: New file.
2001-09-01 Mark Kettenis <kettenis@gnu.org>
* iconv/tst-iconv1.c: Include <stddef.h> for wchar_t.
* iconv/tst-iconv3.c: Likewise.
2001-09-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++.
handle it like 'I' for symmetry with strftime.
2001-09-01 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_cache.c: Rename variable cache to __gconv_cache and
export it.
* iconv/Versions (libc) [GLIBC_2.2.5]: Export __gconv_cache.
* iconv/iconv_prog.c (insert_cache): New function.
(print_known_names): If cache is used call insert_cache to use the
information from the cache [PR libc/2509].
2001-08-31 Ulrich Drepper <drepper@redhat.com>
* time/strptime.c (strptime_internal): Recognize 'l' format and
handle it like 'I' for symmatry with strftime.
2001-08-31 Richard Henderson <rth@redhat.com>
* elf/dl-support.c (_dl_cpuclock_offset): Protect with NONAVAIL.
(HP_TIMING_AVAIL): Set to HP_SMALL_TIMING_AVAIL if present.
* elf/rtld.c (HP_TIMING_AVAIL): Likewise.
(print_statistics): Make scalar unsigned long long.
* sysdeps/alpha/hp-timing.h: New file.
2001-08-31 Jakub Jelinek <jakub@redhat.com>
* stdio-common/perror.c (perror): Save errno early, pass it
down to perror_internal.
(perror_internal): Add errnum argument.
2001-08-31 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Remove unused code.
Don't add old memory content for R_ALPHA_REFQUAD.
* sysdeps/unix/sysv/linux/ia64/ioperm.c (_ioperm): Use __open
instead of open, __close instead of close, __getpagesize instead
of getpagesize.
R_ALPHA_RELATIVE if RTLD_BOOTSTRAP and HAVE_Z_COMBRELOC. Only check
for rtld map if neither RTLD_BOOTSTRAP nor HAVE_Z_COMBRELOC is defined.
2001-08-30 Ulrich Drepper <drepper@redhat.com>
* string/argz-stringify.c (__argz_stringify): Use __strnlen
instead of strnlen.
* include/string.h (strndupa): Redefine here to use __strnlen
instead of strnlen.
* string/strndup.c (__strndup): Use __strnlen not strnlen.
* misc/syslog.c (vsyslog): Fix typo in last change (connect ->
connected).
2001-08-29 Ulrich Drepper <drepper@redhat.com>
* nis/nis_findserv.c (__nis_findfastest): Don't fail if reply received
first is from a previous call.
Patch by Alexander Belopolsky <alexb@rentec.com> for [PR libc/3670].
2001-08-29 Andreas Schwab <schwab@suse.de>
* sysdeps/ia64/fpu/libm-test-ulps: Updated.
2001-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* config.make.in (INSTALL_SCRIPT): Define.
* Makeconfig (INSTALL_SCRIPT): Define.
* Makerules (do-install-script): New macro to install scripts using
INSTALL_SCRIPT.
(install-bin-script): New rule to install scripts with
do-install-script.
(install-bin-script-nosubdir): New rule.
(install-no-libc.a-nosubdir): Add install-bin-script-nosubdir.
(distinfo-vars): Add $(install-bin-script).
* Rules (others): Likewise.
* Makefile (glibcbug): Install with install-bin-script.
* debug/Makefile (xtrace): Likewise.
(catchsegv): Likewise.
* elf/Makefile (ldd): Likewise.
* malloc/Makefile (mtrace): Likewise.
* timezone/Makefile (tzselect): Likewise.
2001-08-29 H.J. Lu <hjl@gnu.org>
* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Pass
ELF_RTYPE_CLASS_PLT, instead of R_MIPS_REL32, to
_dl_lookup_versioned_symbol () and _dl_lookup_symbol ().
Add it to LDFLAGS.so, LDFLAGS-rtld, and +link.
2001-08-28 H.J. Lu <hjl@gnu.org>
* Makeconfig (combreloc-LDFLAGS): New variable.
Add it to LDFALGS.so, LDFLAGS-rtld, and +link.
* config.make.in (have-z-combreloc): New variable.
* configure.in: Substitute libc_cv_z_combreloc.
* iconv/strtab.c (searchstring): Use correct length for comparison.
2001-08-28 Ulrich Drepper <drepper@redhat.com>
* sunrpc/rpc_hout.c (pargdef): Function must take pointer to object.
Patch by Patrick Duval <Patrick.Duval@devinci.fr>.
2001-08-28 Andreas Jaeger <aj@suse.de>
* manual/libc-texinfo.sh: Add entry about free manuals.
* manual/contrib.texi (Contributors): Fix cross reference.
* manual/libc.texinfo (Copying): Include freemanuals.
* manual/Makefile (appendices): Add freemanuals.
* manual/freemanuals.texi: New file.
Patch by Brian Youmans <3diff@gnu.org>.
* manual/libm-err-tab.pl: Pretty print more platforms, print a
smaller table.
* manual/math.texi (Errors in Math Functions): Fix grammar, start
table on separate page.
Patch by Brian Youmans <3diff@gnu.org>.
2001-08-27 Ulrich Drepper <drepper@redhat.com>
* misc/syslog.c (vsyslog): Try a bit harder to use syslogd. If
the connection went down after we first used it try to connect
again and resend the message before printing to the console.
Reported by Coserea Gh. Tudor <tudore@tudore.gecadsoftware.com>.
2001-08-27 Jakub Jelinek <jakub@redhat.com>
* string/tst-strlen.c (main): Test strnlen (, -1) too.
* sysdeps/generic/strnlen.c (__strnlen): Fix for maxlens with top
bit set.
2001-08-27 Ulrich Drepper <drepper@redhat.com>
* iconv/strtab.c (searchstring): Use correct length for
comparison.
(strtabadd): Account total size correct if new string has old string as
substring.
2001-08-27 Andreas Jaeger <aj@suse.de>
* sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests.
* math/libm-test.inc (j0_test): Add extra tests.
* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|,
not x, in Hankel approximation.
Patches by Stephen L Moshier.
* manual/message.texi (Advanced gettext functions): Change
description of plural forms for Slovak.
Reported by Marcel Telka <marcel@telka.sk>.
* manuaL/time.texi (Low-Level Time String Parsing): Fix description of
%z. Reported by C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>.
2001-08-26 Jakub Jelinek <jakub@redhat.com>
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_lazy_rel): Fix a
typo. Patch by Florian La Roche <laroche@redhat.com>.
2001-08-26 Ulrich Drepper <drepper@redhat.com>
2001-08-26 Ulrich Drepper <drepper@redhat.com>
* config.h.in: Add HAVE_Z_COMBRELOC.
* configure.in: Add test for -z combreloc.
* sysdeps/i386/dl-machine.h (elf_machine_rel): Minor cleanups and
optimizations. Use HAVE_Z_COMBRELOC to avoid generaton of
R_386_RELATIVE handling for ld.so startup.
2001-08-24 Ulrich Drepper <drepper@redhat.com>
* elf/rtld.c (print_statistics): Printf % after percent values.
* elf/dl-misc.c (_dl_debug_vdprintf): Implement %%.
* elf/dl-lookup.c (_dl_lookup_symbol): If we use the cache we
don't have to compute the hash value and initialize current_value.
Move reference_name variable to where it is needed.
(_dl_lookup_versioned_symbol): Likewise.
2001-08-24 Ulrich Drepper <drepper@redhat.com>
* elf/do-rel.h (elf_dynamic_do_rel): Fix problem with ld.so
startup. Explicitly remove lazy part for RTLD_BOOTSTRAP since gcc
doesn't do it.
2001-08-24 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* sysdeps/unix/sysv/linux/mips/configure.in: Define AC_SUBST to
empty to prevent junk from being generated.
* sysdeps/unix/sysv/linux/mips/configure: Regenerated.
* elf/do-rel.h (elf_dynamic_do_rel) [RTLD_BOOTSTRAP]: Disable use of
RELCOUNT for now until we know what is wrong with it.
2001-08-24 Jakub Jelinek <jakub@redhat.com>
* elf/do-rel.h (elf_dynamic_do_rel): If l_addr is 0, skip relative
records. Rename endrel to relative, initialize it to r, and use it
in elf_machine_rel_relative calls. Point r after relative relocs.
2001-08-24 Ulrich Drepper <drepper@redhat.com>
2001-08-24 Alexandre Oliva <aoliva@redhat.com>
* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix typo.
* elf/do-rel.h (elf_dynamic_do_rel): RELATIVE relocations comes
first if RELCOUNT is set.
sysdeps/mach version. Implement counting ("recursive") mutexes
on top of cthreads mutexes.
* sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works.
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to
_LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error.
(__libc_cleanup_region_start, __libc_cleanup_region_end,
__libc_clean_end): Define these to call the cleanup function after
normal exit when they're supposed to.
* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start):
Take new first arg DOIT, a boolean saying whether to really install
any cleanup handler.
(__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero.
(__libc_cleanup_end): Likewise.
* stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg.
* stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise.
* sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start):
Likewise.
* misc/syslog.c (vsyslog, openlog, closelog): Likewise.
* sysdeps/generic/bits/stdio-lock.h
(_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise.
__libc_lock_define_recursive.
* elf/dl-open.c: Don't declare it here any more.
* elf/dl-close.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c (add_dependency): Use __libc_lock_lock_recursive and
__libc_lock_unlock_recursive.
* elf/dl-close.c (_dl_close): Likewise
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise
* elf/dl-open.c (_dl_open): Likewise
* sysdeps/generic/bits/libc-lock.h
(__libc_lock_define_recursive): New macro.
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_t): Use it.
(_IO_lock_lock): Use __libc_lock_lock_recursive.
(_IO_lock_unlock): Use __libc_lock_unlock_recursive.
* sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT.
(POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these
definitions conditional on [__USE_XOPEN].
* sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define
these unconditionally, not only use [__USE_BSD], so as to match
the sysdeps/unix/sysv/linux files.
* posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal):
Rename __argc to ___argc in prototypes to avoid compatibility
problems with systems that reserve the identifier "__argc".
Similarly for __argv.
2001-08-01 Mark Kettenis <kettenis@gnu.org>
* sysdeps/unix/bsd/bsd4.4/Makefile: New file.
* sysdeps/unix/bsd/bsd4.4/Versions: New file.
* sysdeps/unix/bsd/bsd4.4/cmsg_nxthdr.c: New file.
* sysdeps/unix/bsd/bsd4.4/bits/socket.h (__cmsg_nxthdr): Correct
test for cmsg struct size.
* posix/getopt.h (getopt_long, getopt_long_only, _getopt_internal):
Rename __argc to ___argc in prototypes to avoid compatibility
problems with systems that reserve the identifier "__argc".
Similarly for __argv.
2001-08-21 Roland McGrath <roland@frob.com>
* stdio-common/tst-fseek.c: Include <time.h> for `time' declaration.
* mach/Makefile (tests): Removed.
* mach/hello.c: File removed.
2001-08-22 Ulrich Drepper <drepper@redhat.com>
* elf/dl-addr.c (_dl_addr): Fix tests to determine dli_sname.
* malloc/mtrace.c (tr_where): dli_sname always points to a
non-empty string is != NULL.
Reported by Tim Janik <timj@gtk.org>.
as a macro, not an extern inline function.
* hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here.
* Versions.def (libc): Add GLIBC_2.2.5 set.
* hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro.
(__hurd_fail): Use that instead of _EXTERN_INLINE in decl.
2001-08-20 Roland McGrath <roland@frob.com>
* hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "".
(__hurd_file_name_split, __hurd_directory_name_split): Likewise.
2001-08-20 Ulrich Drepper <drepper@redhat.com>
* misc/error.c (error_tail): Use fputws_unlocked instead of fputws.
* misc/err.c (convert_and_print): Likewise.
* malloc/obstack.c (print_and_abort): Use fprintf instead of two
function calls.
2001-08-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Revert the
change of the gregset_t type.
* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.
2001-08-20 kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sysdep.S: Align errno.
* posix/regex.c (truncate_wchar): Use wcrtomb not wctomb.
2001-08-18 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ
before calling the cthreads initialization code.
* time/time.h (struct timespec): Use __time_t for tv_sec element.
* sysdeps/generic/inttypes.h: Define __wchar_t. Use it instead of
wchar_t for function declarations and defintions.
* misc/sys/select.h: Define __need_time_t before including <time.h>.
Define suseconds_t if it hasn't happened yet.
* iconv/gconv.h: Define __need_wchar_t before including <stddef.h>.
* conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined.
* sysdeps/generic/stdint.h: Don't get definition of wchar_t from
<stddef.h>.
* conform/data/stddef.h-data: Remove wint_t.
2001-08-14 Tom Rix <trix@redhat.com>
* iconv/gconv_cache.c (find_module): Add #ifndef STATIC_GCONV.
* iconv/Makefile: Fix gconv_cache.c CFLAGS.
2001-08-13 Tom Rix <trix@redhat.com>
* sysdeps/unix/sysv/aix/Makefile: Add rule to import kernel symbols.
* sysdeps/unix/sysv/aix/bits/types.h: Fix type of __id_t, __useconds_t
and __intptr_t.
2001-08-15 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S (__getcontext):
Store the access registers to the ucontext structure.
* sysdeps/unix/sysv/linux/s390/s390-64/getcontext.S (__getcontext):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S (__setcontext):
Load the access registers from the ucontext structure.
* sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S (__setcontext):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h: Adjust the SC_xxx
offsets to the new ucontext layout.
* sysdeps/unix/sysv/linux/s390/s390-64/ucontext_i.h: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Fix the layout
of the ucontext structure.
* sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.
* misc/error.c (error): Handle wide oriented stderr stream correctly.
* stdio-common/perror.c (perror): Implement according to standard.
The stream orientation must not be changed if the stream was not
oriented before the call.
* stdio-common/Makefile (tests): Add tst-perror.
* stdio-common/tst-perror.c: New file.
See ChangeLog.12 for earlier changes.
2001-08-15 Ulrich Drepper <drepper@redhat.com>
* libio/iofwide.c (_IO_fwide): Don't reset file position to
beginning of file, really get current position.
2001-08-14 Ulrich Drepper <drepper@redhat.com>
* stdio-common/perror.c (perror): Use _IO_fwide instead of fwide.
* libio/libio.h (_IO_fwide): Handle zero as second parameter more
efficiently in macro.
2001-08-14 Andreas Jaeger <aj@suse.de>
* sysdeps/ieee754/ldbl-128/w_expl.c: New file, copy from
ldbl-96/w_expl.c with tweaked constants. Patch by Stephen L
Moshier.
2001-08-13 Andreas Jaeger <aj@suse.de>
* sysdeps/mips/machine-gmon.h (MCOUNT): Don't use delay slot for
jal since it's a macro.
Patch by Simon Gee <simong@oz.agile.tv>.
2001-08-12 Ulrich Drepper <drepper@redhat.com>
* iconvdata/Makefile: Add rules to build ISO-IR-209 and MAC-SAMI.
* iconvdata/iso-ir-209.c: New file.
* iconvdata/mac-sami.c: New file.
* iconvdata/gconv-modules: Add entries for ISO-IR-209 and MAC-SAMI.
* iconvdata/tst-tables.sh: Likewise.
* posix/getopt.c: Remove store_args_and_env which is not needed since
USE_NONOPTION_FLAGS is undefined anyhow. Use __libc_argc and
__libc_argv variables.
Now returns pointer to first character after "LD_".
2001-08-11 Ulrich Drepper <drepper@redhat.com>
* config.h.in: Add #undef line for USE_NONOPTION_FLAGS.
* posix/getopt_init.c: Produce code only if USE_NONOPTION_FLAGS is
defined.
* posix/getopt.c: Use __getopt_nonoption_flags only if
USE_NONOPTION_FLAGS is defined.
* sysdeps/mach/hurd/i386/init-first.c: Use __getopt_clean_environment
only if USE_NONOPTION_FLAGS is defined.
* sysdeps/mach/hurd/mips/init-first.c: Likewise.
* sysdeps/unix/sysv/linux/init-first.c: Likewise.
2001-08-11 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (ptmalloc_init): Don't call getenv five times.
Instead use new function next_env_entry which iterates over the
environment once.
* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Only set
_dl_profile_map for the right object.
* elf/dl-reloc.c (_dl_relocate_object): Allocate l_reloc_result
only if consider_profiling is != 0, not if _dl_profile != NULL.
* sysdeps/generic/dl-environ.c (_dl_next_ld_env_entry): Optimize a bit.
Now returns pointer to first character set "LD_".
* elf/rtld.c (process_envvars): Adjust for change above.
* sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Likewise.
* sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS):
Likewise.
2001-08-10 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c (grow_heap): Use mmap() rather than mprotect()
to allocate new memory, for better performance with Linux-2.4.x.
* posix/getopt_init.c (__getopt_clean_environment): Avoid making
the strncmp calls most of the time by testing for '_' as the first
character of the name.
* elf/dl-open.c (add_to_global): Remove stale comment.
* elf/dl-load.c (fillin_rpath): In SUID binaries, don't mark
non-system-dirs in LD_LIBRARY_PATH as nonexisting, simply drop them.
* posix/fnmatch_loop.c: Fix computation of alignment.
2001-08-09 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regex.c (wcs_regex_compile): Use appropriate string
to compare with collating element.
Fix the padding for the alignment.
2001-08-09 Isamu Hasegawa <isamu@yamato.ibm.com>
* locale/programs/ld-collate.c (collate_output): Exclude
characters from elem_table.
Reduce if clause to write collating elements correctly.
* posix/Makefile (tests): Add bug-regex5.
* posix/bug-regex5.c: New file.
2001-08-09 Ulrich Drepper <drepper@redhat.com>
* locale/lc-time.c (_nl_parse_alt_digit): New function.
* locale/localeinfo.h: Add prototype for it.
* time/strptime.c (get_alt_number): Use _nl_parse_alt_digit to get
the value. Correct computation of hour for %OI. If no %EC given
but %Ey use numeric formular.
2001-08-09 Jakub Jelinek <jakub@redhat.com>
* catgets/catgets.c (catclose): Be liberal about catalog_desc in
catclose too.
* time/tst-strptime.c: Add test case for %U and %W handling.
* libio/vswprintf.c (_IO_vswprintf): Fix return value handling
which is different from snprintf.
* libio/tst_swprintf.c: Add tests for too small output buffer.
* locale/elem-hash.h (elem_hash): Correct stupid mistake and
create real hash values now.
Patch by Isamu Hasegawa <isamu@yamato.ibm.com>.
* libio/iofgetpos.c (_IO_new_fgetpos): Correct a few problems in
the handling of wide streams.
* libio/wfileops.c (_IO_wfile_underflow): Remove incorrect test
for possible conversion using __codecvt_do_in.
* libio/Makefile (tests): Add tst-fgetws.
* libio/tst-fgetws.c: New file.
* libio/iofgetws.c: Use _IO_ferror_unlocked macros instead of
coding the test here.
* catgets/open_catalog.c: Rewrite code to assume that the function
is called at catopen time and not delayed in catgets.
* catgets/catgets.c (catopen): Call __open_catalog and fail if that
function failed.
(catgets): Remove code for delayed opening of catalog.
* catgets/catgetsinfo.h: Remove now unnecessary information from
struct catalog_info. Change __open_catalog prototype.
* catgets/gencat.c: Adjust __open_catalog call.
* catgets/test-gencat.c: Stop program if catopen failed.
for CRNCYSTR.
* locale/programs/ld-monetary.c (monetary_finish): Likewise.
functionality.
call me(). If in the middle of initializing, return NULL or
* manual/locale.texi: Add documentation for rpmatch.
2001-08-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/ia64/memusage.h (GETTIME): Define using hp-timing.h
funcationality.
* sysdeps/ia64/hp-timing.h (HP_TIMING_NOW): Fix comment.
2001-08-07 Jakub Jelinek <jakub@redhat.com>
* malloc/memusage.c (initialized): New variable.
(init): If not yet initialized, call me().
(me): Do all dlsym calls here.
(malloc, realloc, calloc, free): If not yet initialized,
call me(). If in the middle of initializing, return NULL or
do nothing.
2001-08-07 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/seekdir.c (seekdir): Set dirp->filepos.
* dirent/tst-seekdir.c (main): Check whether telldir right after
seekdir returns 2nd argument given to seekdir.
2001-08-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* dlfcn/Makefile (tststatic-ENV): Add $(common-objpfx) to
LD_LIBRARY_PATH.
2001-08-06 Jakub Jelinek <jakub@redhat.com>
* stdlib/strtod.c (STRTOF): Skip whole infinity, not just inf.
* stdio-common/vfscanf.c (__vfscanf): +- can be followed by i in +-Inf.
* stdlib/tst-strtod.c (tests): Add Inf tests.
* stdio-common/tstscanf.c (main): Add tests for +- before Inf.
* locale/weightwc.h (findidx): Change type of i to int32_t.
2001-08-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* dlfcn/Makefile: Add rules for new testcase tststatic.
* dlfcn/tststatic.c: New file.
* dlfcn/modstatic.c: New file.
2001-08-04 Ulrich Drepper <drepper@redhat.com>
* libio/genops.c (_IO_unbuffer_write): Force streams in narrow
orientation so that conversion modules aren't used anymore.
* malloc/set-freeres.c: Call _IO_cleanup before running subfreeres
functions to avoid using wide streams afterwards.
* iconvdata/Makefile: Add rules to build GEORGIAN-PS and
GEORGIAN-ACADEMY.
* iconvdata/georgian-ps.c: New file.
* iconvdata/georgian-academy.c: New file.
* iconvdata/gconv-modules: Add entries for GEORGIAN-PS and
GEORGIAN-ACADEMY.
* iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY.
2001-08-03 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-collate (insert_value): If symbol in order
definition does not exist create it as a sequence without
associated multibyte and wide representation.
* sysdeps/unix/sysv/linux/i386/getcontext.S: Don't touch the %gs
register so that contexts can be used in different threads.
* sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/i386/swapcontext.S: Likewise.
* libio/vasprintf.c (_IO_vasprintf): Don't copy uninitialized byte
from stream buffer to result buffer.
Reported by Michael Meeks <michael@ximian.com>.
* libio/fileops.c (_IO_new_file_fopen): Correctly locate ccs=
substring. Don't handle ccs= if no descriptor was allocated.
Normalize codeset name before calling __wcsmbs_named_conv.
Initialize transliteration elements. Free step data structure.
* libio/iofclose.c (_IO_new_fclose): Correct freeing of the step data.
* libio/iofwide.c (__libio_translit): Renamed from libio_translit
and made public. Various little cleanup changes.
* wcsmbs/wcsmbsload.h (struct gconv_fcts): Add towc_nsteps and
tomb_nsteps member.
* wcsmbs/wcsmbsload.c: Add some casts to avoid warnings.
(__wcsmbs_gconv_fcts): Initialize towc_nsteps and tomb_nsteps member.
(getfct): Take additional parameter with pointer to variable where the
number of steps is stored in. Disable code which allows to use more
than one step for now. Adjust all callers.
(free_mem): New function. Frees data associated with currently
selected converters.
2001-07-27 Ulrich Drepper <drepper@redhat.com>
* malloc/mtrace.pl: Extract addresses from DSOs.
2001-07-26 Ulrich Drepper <drepper@redhat.com>
* malloc/mcheck.c (checkhdr): Disable mcheck before reporting an
error. Don't run any tests if mcheck is disabled.
* elf/dl-support.c (_dl_important_hwcaps): Avoid using malloc
early in the program.
>>>>>>> 1.5525
2001-07-27 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.h (SC_GPRS): Fix
value following change from 2001-05-30.
* sysdeps/s390/s390-64/bits/setjmp.h (_JMPBUF_UNWINDS): Follow
rename change from 2001-07-12 for __jmp_buf.
Patches by Ulrich Weigand <Ulrich.Weigand@de.ibm.com>.
on __USE_MISC rather than __USE_BSD.
(B57600, B115200, B230400, B460800, B500000, B576000, B921600,
B1000000, B1152000, B1500000, B2000000, B2500000, B3000000,
B3500000, B4000000): New macros.
* sysdeps/generic/tcsetattr.c (bad_speed): Accept those values.
* termios/cfsetspeed.c (speeds): Likewise.
* csu/gmon-start.c: Use ENTRY_POINT_DECL if defined instead of a
2001-06-07 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/dl-symaddr.c (_dl_symbol_address): Update call to
__ia64_make_fptr() for new interface.
(_dl_function_address): Remove.
* sysdeps/ia64/dl-machine.h (IA64_BOOT_FPTR_TABLE_LEN): Rename
from IA64_BOOT_FPTR_SIZE and reduce its value from 256 to 200.
(struct ia64_fdesc): Rename from struct ia64_fptr and drop "next"
pointer. Rename member "func" to "ip".
(struct ia64_fdesc_table): New type.
(__ia64_make_fptr): Change prototype.
(__ia64_init_bootstrap_fdesc_table): New function.
(ELF_MACHINE_BEFORE_RTLD_RELOC): New macro.
(__boot_ldso_fptr): Removed.
(__fptr_next): Removed.
(__fptr_root): Removed.
(__fptr_count): Removed.
(TRAMPOLINE_TEMPLATE): Fix typo in comment. Don't use multi-line
strings to avoid warning from gcc3.
(RTLD_START): Don't use multi-line strings.
(ELF_MACHINE_START_ADDRESS): Use DL_STATIC_FUNCTION_ADDRESS.
(elf_machine_fixup_plt): Update the code entry point in the
function descriptor through a "volatile" pointer to ensure proper
write ordering.
(elf_machine_rela): Simplify handling of FPTR relocs: always call
__ia64_make_fptr().
* sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): New macro.
(DL_STATIC_FUNCTION_ADDRESS): Likewise.
(DL_DT_INIT_ADDRESS): Use DL_AUTO_FUNCTION_ADDRESS.
(DL_DT_FINI_ADDRESS): Likewise.
* sysdeps/ia64/dl-fptr.c: Rewrite for better scalability and to
avoid deadlocks.
* include/link.h: Add member machine specific "l_mach" member to
link_map.
* sysdeps/generic/bits/link.h: New file.
* sysdeps/ia64/bits/link.h: Likewise.
* elf/rtld.c (_dl_start): Fix typo in comment.
(_dl_start_final): Copy new "l_mach" member from temporary to
final bootstrap map.
2001-07-25 Ulrich Drepper <drepper@redhat.com>
* csu/gmon-start.c: Use ENTRY_POINT_DECL is defined instead of a
declaration using ENTRY_POINT.
* sysdeps/ia64/elf/entry.h (ENTRY_POINT_DECL): New definition.
2001-07-25 H.J. Lu <hjl@gnu.org>
* csu/gmon-start.c: Include <entry.h>
(_start): Replaced with ENTRY_POINT.
(write_output): Don't overwrite old cache file until we know we
have a new one.
* iconv/Makefile (install-sbin): Add iconvconfig.
* iconv/gconv_int.h: Add prototype for __gconv_release_cache.
2001-07-22 Bruno Haible <haible@clisp.cons.org>
* intl/libintl.h (ngettext, dngettext, dcngettext): Use both msgid1
and msgid2 for printf format argument checking.
* iconv/gconv_cache.c (find_module): Don't allocate room for the
filename. Use alloca, we don't need it beyond this function.
(__gconv_release_cache): New function.
* iconv/gconv_db.c (__gconv_close_transform): Call
__gconv_release_cache after the steps are handled.
* iconv/gconv_dl.c (__gconv_find_shlib): Allocate file name in the
record as well.
* iconv/gconv_int.h: Add prototype fpr __gconv_release_cache.
2001-07-24 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_cache.c (__gconv_lookup_cache): Catch one more
boundary case and reject it.
* manual/examples/longopt.c (main): Fix which options take arguments.
2001-07-24 Andreas Jaeger <aj@suse.de>
* iconv/iconvconfig.c (name_insert): Make static to avoid warning.
* iconv/gconv_cache.c: Include stdio.h for puts declaration.
* libio/iofclose.c (_IO_new_fclose): Unlink descriptor first to
avoid deadlock.
* libio/oldiofclose.c (_IO_old_fclose): Likewise.
* libio/genops.c (_IO_un_link): Get stream lock since it's not
always done in the caller.
(_IO_link_in): Likewise.
* libio/genops.c (_IO_list_all_stamp): New variable.
(_IO_un_link): Bump _IO_list_all_stamp after removing from list.
(_IO_link): Likewise for insertion.
(flush_cleanup): New function.
(_IO_flush_all): Get list_all_lock and all individual locks for the
streams. Detect and handle changes to the _IO_list_all list.
(_IO_flush_all_linebuffered): Likewise.
* sysdeps/generic/bits/stdio-lock.h: Define
_IO_cleanup_region_start_noarg.
* sysdeps/mach/hurd/bits/stdio-lock.c: Likewise.
2001-07-23 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_cache.c (__gconv_lookup_cache): Handle encoding from
and to INTERNAL.
* iconv/iconvconfig.c: Create a special record for the INTERNAL
encoding name in the output file.
2001-07-23 Jakub Jelinek <jakub@redhat.com>
* sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New.
(svctcp_rendezvous_op): Use it.
* sunrpc/svc_unix.c (svcunix_rendezvous_abort): New.
(svcunix_rendezvous_op): Use it.
2001-07-23 Andreas Schwab <schwab@suse.de>
* math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c,
CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*.
(math-CPPFLAGS): Set this instead of CPPFLAGS.
2001-07-23 Ulrich Drepper <drepper@redhat.com>
* elf/elf.h: Add more definitions from Sun's latest version.
2001-07-23 Stephen L Moshier <moshier@mediaone.net>
2001-07-23 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-128/s_log1pl.c (__log1pl): Return proper
sign for 0 input and set divide by zero exception for -1 input.
Return argument if NaN or infinity.
2001-07-23 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Return proper
sign for 0 input. Return NaN with no exception for NaN input.
2001-07-23 Andreas Jaeger <aj@suse.de>
* iconv/iconvconfig.c: Include <sys/cdefs.h> and use
__attribute_malloc__ for older GCC versions.
* iconv/strtab.c: Likewise.
and SA_NODEFER options. Spurred to action by Igor Khavkine.
* sysdeps/generic/bits/sigaction.h [__USE_UNIX98 || __USE_MISC]
(SA_NODEFER, SA_RESETHAND): New macros, same bit values as FreeBSD.
[__USE_MISC] (SA_INTERRUPT): New macro, value 0.
[__USE_MISC] (SA_NOMASK, SA_ONESHOT, SA_STACK): New macros, aliases
as in other sysdeps versions of this file.
* sysdeps/generic/bits/sigaction.h (struct sigaction): Use a union
and provide sa_handler and sa_sigaction member names as macros, as
done in other sysdeps versions of this file.
Suggested by Igor Khavkine <i_khavki@alcor.concordia.ca>.
2001-07-22 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_builtin.c (struct builtin_map): Remove init and end
elements.
(BUILTIN_TRANSFORMATION): Remove Init and End parameters.
(__gconv_get_builtin_trans): Initialize __init_fct and __end_fct to
NULL.
* iconv/gconv_builtin.h: Remove NULL parameters for Init and End in
all BUILTIN_TRANSFORMATION calls.
* iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Remove Init and End
parameters.
* iconv/gconv_simple.c: Likewise.
* iconv/gconv_db.c (gen_steps): Internal converters don't have
initializers, move the code accordingly.
* iconv/gconv_conf.c (__gconv_read_conf): Don't read configuration
file if STATIC_GCONV is defined.
* iconv/gconv_conf.c (__gconv_path_envvar): New global variable.
(__gconv_get_path): Use it instead of call getenv.
(__gconv_read_conf): First see whether cache can be used. If yes,
don't do any work here.
* iconv/gconv_db.c (__gconv_release_step): Renamed from release_step
and exported. Change callers.
(__gconv_find_transform): First call __gconv_lookup_cache and only
continue if it signals no cache available. Remove some unnecessary
tests.
* iconv/gconv_int.h: Declare __gconv_path_envvar, __gconv_lookup_cache,
__gconv_release_step, and __gconv_loaded_cache.
* iconv/gconv_cache.c: New file.
* iconv/iconvconfig.c: New file.
* iconv/iconvconfig.h: New file.
* iconv/strtab.c: New file.
* iconv/Makefile: Add rules to build new files and programs.
* stdio-common/stdio_ext.h: ... here.
* libio/Makefile (headers): Move stdio_ext.h from here ...
* stdio-common/Makefile (headers): ... to here.
* include/stdio_ext.h: New file.
* stdio/Makefile (routines): Add the stdio_ext.h functions here.
* stdio/Versions (GLIBC_2.2.4): Export the stdio_ext.h functions.
* stdio/__flbf.c: New file.
* stdio/__fbufsize.c: New file.
* stdio/__fpending.c: New file.
* stdio/__fpurge.c: New file.
* stdio/__freadable.c: New file.
* stdio/__freading.c: New file.
* stdio/__fsetlocking.c: New file.
* stdio/__fwritable.c: New file.
* stdio/__fwriting.c: New file.
2001-07-20 Ulrich Drepper <drepper@redhat.com>
Andreas Jaeger <aj@suse.de>
* elf/ldconfig.c (search_dir): Avoid use of uninitialized memory.
Add a few __builtin_expect to mark unlikely error cases.
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* libio/filedoalloc.c (_IO_file_doallocate): A few more minor
cleanups and improvements.
2001-07-18 Andreas Schwab <schwab@suse.de>
* posix/regex.c (WORDCHAR_P) [WCHAR]: Also return true for the
underscore character.
2001-07-18 Jakub Jelinek <jakub@redhat.com>
* malloc/malloc (new_heap): Don't call munmap for zero length.
2001-07-18 Ulrich Drepper <drepper@redhat.com>
* libio/filedoalloc.c (_IO_file_doallocate): Use DEV_TTY_P if
available to determine whether descriptor is for tty before
calling isatty.
* sysdeps/unix/sysv/linux/device-nrs.h: Define DEV_TTY_P.
* sysdeps/generic/device-nrs.h: Likewise.
2001-07-17 Andreas Jaeger <aj@suse.de>
* elf/ldconfig.c: Add new variable hwcap_mask to honour LD_HWCAP_MASK.
(is_hwcap_platform): Use it.
(set_hwcap): New function to set hwcap_mask.
(main): Call set_hwcap.
2001-07-17 Jakub Jelinek <jakub@redhat.com>
* time/getdate.c (__getdate_r): Initialize tm_isdst, tm_gmtoff and
tm_zone before calling strptime.