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.
2001-07-13 H.J. Lu <hjl@gnu.org>
* sysdeps/mips/dl-machine.h (MAP_BASE_ADDR): Removed.
(elf_machine_got_rel): Defined only if RTLD_BOOTSTRAP is not defined.
(RESOLVE_GOTSYM): Rewrite to use RESOLVE.
* sysdeps/mips/rtld-ldscript.in: Removed.
* sysdeps/mips/rtld-parms: Likewise.
* sysdeps/mips/mips64/rtld-parms: Likewise.
* sysdeps/mips/mipsel/rtld-parms: Likewise.
2001-07-16 Andreas Schwab <schwab@suse.de>
* sysdeps/posix/spawni.c: Fix typo when iterating over signal numbers.
2001-07-16 Andreas Schwab <schwab@suse.de>
* math/libm-test.inc (check_float_internal): Fix sign bit test of
infinities.
2001-07-16 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/fpu/e_expl.c (__ieee754_expl): Make it PIC friendly.
2001-07-15 Ulrich Drepper <drepper@redhat.com>
* malloc/obstack.c: Define __attribute__ for non-gcc compilers.
Patch by Jim Meyering <jim@meyering.net>.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-64/bits/sigaction.h: Reorder
fields in the sigaction struct to match the definition in the kernel.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Correct the
test for ENOSYS.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/bits/setjmp.h: Add leading underscores
to the entries in the __jmp_buf structure.
* sysdeps/s390/s390-64/bits/setjmp.h: Likewise.
2001-07-12 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/bcopy.S: Use mvcle for big blocks
(> 64K) and a mvc loop for small blocks.
* sysdeps/s390/s390-32/memcpy.S: Likewise.
* sysdeps/s390/s390-64/bcopy.S: Likewise.
* sysdeps/s390/s390-64/memcpy.S: Likewise.
2001-07-09 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/dl-procinfo.c: Name entry for xmm2.
* sysdeps/unix/sysv/linux/i386/dl-procinfo.h: Add HWCAP_I386_XMM,
HWCAP_I386_XMM2 to enum.
2001-07-01 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/dl-sysdep.c (frob_brk): Remove duplicate
sbrk. Closes PR libc/2312.
2001-07-01 Andreas Jaeger <aj@suse.de>
* sysdeps/generic/segfault.c (install_handler): Handle case that
the output file does not exists. Closes PR libc/2345.
2001-07-11 Ulrich Drepper <drepper@redhat.com>
* intl/locale.alias: Use he language code for hebrew, not il
[PR libc/2382].
2001-07-11 Jakub Jelinek <jakub@redhat.com>
* iconv/gconv_int.h: Fix comment typo.
* hurd/hurdsig.c (_hurdsig_init): Remove a useless line of code.
backwards conditional in test for x == 1.0.
* hurd/hurdsig.c (_hurdsig_init): Remove a useless line of code.
2001-07-07 Roland McGrath <roland@frob.com>
* hurd/hurdsig.c (_hurd_thread_sigstate): Use MACH_PORT_NULL, not 0.
2001-07-10 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Fix
backwards conditional in test for x == 1.0.
2001-07-06 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/sigaction.c (RESTORE2): Put asm
explicitly into .text section.
2001-04-16 Jes Sorensen <jes@linuxcare.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
Add 16 longwords reserved for future use to match changes in the
kernel.
2001-07-03 Jes Sorensen <jes@trained-monkey.org>
* sysdeps/ia64/strncpy.S: Call strnlen() when determining the
string length rather than strlen(). Solves the performance problem
of doing strlen on a 5MB string when strncpy was called with a
length argument of 5 bytes.
2001-07-02 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle
R_SPARC_UA16 and R_SPARC_UA32.
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Likewise.
2001-07-01 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl):
acosh(x) = ln(2x) if x > 2^30.
* sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl):
acosh(x) = ln(2x) if x > 2^54.
* sysdeps/hppa/dl-machine.h (elf_machine_rela): Handle relocs
2001-07-07 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal):
Generate SIGSEGV instead of SIGBUS for KERN_INVALID_ADDRESS and
KERN_WRITE_PROTECTION_FAILURE.
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2001-07-01 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/if_index.c: Redone to use new interfaces in
the Hurd pfinet server, using equivalent code from the Linux
version in sysdeps/unix/sysv/linux/if_index.c. In detail:
Include <unistd.h>, <error.h>, <sys/ioctl.h>, <hurd/ioctl.h> and
<hurd/pfinet.h>. Don't include <sys/mman.h> and <hurd/fsys.h>
anymore.
(if_nametoindex): New implementation using SIOCGIFINDEX.
(if_freenameindex): Straight copy of the Linux version.
(if_nameindex): New implementation based on pfinet_siocgifconf and
SIOCGIFINDEX.
(if_indextoname): New implementation using SIOCGIFNAME.
(map_interfaces): Function removed.
From Marcus Brinkmann <marcus@gnu.org>.