2002-06-30 Ulrich Drepper <drepper@redhat.com>
* elf/dl-lookup.c (add_dependency): It is not necessary to add
dependencies if they are created between objects which are created
while processing RTLD_NOW for objects loaded as part of the same
dlopen call.
2002-06-14 H.J. Lu <hjl@gnu.org>
* elf/Makefile (tests): Add circleload1.
(modules-names): Add circlemod1, circlemod2, circlemod3,
circlemod1a, circlemod2a and circlemod3a.
($(objpfx)circleload1): New target.
($(objpfx)circleload1.out): Likewise.
($(objpfx)circlemod1.so): Likewise.
($(objpfx)circlemod2.so): Likewise.
($(objpfx)circlemod1a.so): Likewise.
($(objpfx)circlemod2a.so): Likewise.
* elf/circleload1.c: New file.
* elf/circlemod1.c: New file.
* elf/circlemod1a.c: New file.
* elf/circlemod2.c: New file.
* elf/circlemod2a.c: New file.
* elf/circlemod3.c: New file.
* elf/circlemod3a.c: New file.
2002-06-18 Amos Waterland <apw@us.ibm.com>
* sysdeps/pthread/aio_cancel.c (aio_cancel): Add check for invalid
file descriptor.
* sysdeps/pthread/aio_fsync.c (aio_fsync): Add check for invalid fd;
add check for fd not open for writing.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Add check for
completed element(s) and do not suspend thread if so. Patch
heavily modified by drepper.
* rt/tst-aio7.c: New file. Regression test for problems which the
above three changes fix.
* rt/Makefile (tests): Add tst-aio7.
* rt/tst-aio6.c: Fix comment.
2002-06-29 Ulrich Drepper <drepper@redhat.com>
* catgets/gencat.c (read_input_file): Handle more than one slash
at end of line correctly [PR libc/3926].
Based on a patch by Steven Kim <steven.kim@peregrine.com>.
* catgets/sample.SJIS: Add test case for above bug.
* catgets/test-gencat.c: Adjust test code.
* catgets/test-gencat.sh: Adjust expected results.
* elf/do-rel.h (elf_dynamic_do_rel): Avoid overflow in computation
to skip relative relocations.
Patch by Geoff Keating <geoffk@redhat.com>.
2002-05-26 Bruno Haible <bruno@clisp.org>
* iconv/loop.c (STANDARD_FROM_LOOP_ERR_HANDLER): New macro.
(STANDARD_TO_LOOP_ERR_HANDLER): Renamed from STANDARD_ERR_HANDLER.
All callers changed.
* iconv/gconv_simple.c (ascii_internal_loop): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(utf8_internal_loop): Likewise.
(ucs2_internal_loop): Likewise.
(internal_ucs2_loop): Perform error handling like in
STANDARD_FROM_LOOP_ERR_HANDLER.
* iconvdata/unicode.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/utf-16.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/utf-32.c (BODY for TO_LOOP): Perform error handling like
in STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
* iconvdata/big5.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
* iconvdata/iso-2022-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/8bit-gap.c (BODY for FROM_LOOP): Likewise.
* iconvdata/8bit-generic.c (BODY for FROM_LOOP): Likewise.
* iconvdata/ansi_x3.110.c (BODY for FROM_LOOP): Likewise.
* iconvdata/armscii-8.c (BODY for FROM_LOOP): Likewise.
* iconvdata/cp1255.c (BODY for FROM_LOOP): Likewise.
* iconvdata/cp1258.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-cn.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-jisx0213.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-jp.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/euc-tw.c (BODY for FROM_LOOP): Likewise.
* iconvdata/big5hkscs.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gb18030.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gbk.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-cn.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-jp-3.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso-2022-kr.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso646.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso_6937-2.c (BODY for FROM_LOOP): Likewise.
* iconvdata/iso_6937.c (BODY for FROM_LOOP): Likewise.
* iconvdata/johab.c (BODY for FROM_LOOP): Likewise.
* iconvdata/shift_jisx0213.c (BODY for FROM_LOOP): Likewise.
* iconvdata/sjis.c (BODY for FROM_LOOP): Likewise.
* iconvdata/t.61.c (BODY for FROM_LOOP): Likewise.
* iconvdata/uhc.c (BODY for FROM_LOOP): Likewise.
* iconvdata/utf-7.c (BODY for FROM_LOOP): Likewise.
* iconvdata/gbbig5.c (BODY for FROM_LOOP): Likewise. When ignoring
an error, still set result = __GCONV_ILLEGAL_INPUT.
(BODY for TO_LOOP): Likewise.
* iconvdata/ibm930.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm932.c: Include <dlfcn.h> and <stdint.h>.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm933.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm935.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm937.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm939.c (BODY for FROM_LOOP): For error handling use
STANDARD_FROM_LOOP_ERR_HANDLER.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/ibm943.c: Include <dlfcn.h> and <stdint.h>.
(BODY for FROM_LOOP): Use STANDARD_FROM_LOOP_ERR_HANDLER for error
handling.
(BODY for TO_LOOP): Here use STANDARD_TO_LOOP_ERR_HANDLER.
* iconvdata/gbgbk.c (BODY for FROM_LOOP): Update.
* iconvdata/iso8859-1.c (BODY for TO_LOOP): Update.
* iconvdata/tcvn5712-1.c (BODY for TO_LOOP): Update.
2002-06-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/dl-machine.h (elf_machine_load_address): Use local
labels in assembler instructions.
2002-06-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/powerpc/Versions: Export libgcc functions for GLIBC_2.0.
* sysdeps/powerpc/libgcc-compat.c: Fix function names.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
* libio/fileops.c (_IO_file_xsgetn_mmap): Always set EOF flag if
* libio/fileops.c (_IO_file_xsgetn_mmap): Always set EOF flag is
not enough content is available.
* libio/tst-eof.c: New file.
* libio/Makefile (tests): Add tst-eof.
* libio/fileops.c (_IO_file_underflow_mmap): Read a single byte to
update atime.
* libio/tst-atime.c: New file.
* libio/Makefile (tests): Add tst-atime.
2002-06-25 Andreas Jaeger <aj@suse.de>
* sysdeps/x86-64/dl-machine.h (elf_machine_load_address): Rewrite
to not use 32-bit pc relative relocations.
(elf_machine_dynamic): Likewise.
2002-06-20 Ulrich Drepper <drepper@redhat.com>
* spinlock.c (wait_node_alloc): We cannot use compare-and-exchange.
Unconditionally use the code using spinlock. Use __pthread_release
to free a spinlock.
(wait_node_free): Likewise.
(__pthread_acquire, __pthread_release): Unconditionally define.
2002-06-20 Andreas Jaeger <aj@suse.de>
* math/libm-test.inc: Use exact values as input parameters,
compute output parameters with 36 digits for 128-bit long doubles.
* sysdeps/i386/fpu/libm-test-ulps: Regenerated.
* sysdeps/x86-64/fpu/libm-test-ulps: Regenerated.
2002-06-13 Stephen L Moshier <steve@moshier.net>
* sysdeps/ieee754/ldbl-96/s_scalbnl.c: Fix cases in which
argument or result is subnormal.
2002-06-19 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/s_remquo.S: Fix three mistakes in computing the
quotient.
* sysdeps/i386/fpu/s_remquof.S: Likewise.
* sysdeps/i386/fpu/s_remquol.S: Likewise.
* sysdeps/hppa/dl-machine.h: Don't use multi-line string literals.
* sysdeps/unix/sysv/linux/alpha/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/ia64/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: New file.
* sysdeps/unix/sysv/linux/x86_64/sendfile64.c: New file.
2002-06-17 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h (uc_sigmask): Fix
typo: corresponding sigcontext field is called sc_mask, not sc_sigmask.
Reported by Peter A. Buhr.
* hurd/hurdstartup.c (_hurd_startup): Likewise.
Use intptr_t instead of int for argc in stack layout.
* sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type.
(_dl_init_first): Likewise.
(_hurd_stack_setup): Likewise.
(init1): Add a cast.
* hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type.
* hurd/hurdstartup.c (_hurd_startup): Likewise.
Use intptr_t instead of int for argc in stack layout.
* sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type.
(_dl_init_first): Likewise.
(_hurd_stack_setup): Likewise.
(init1): Add a cast.
file on [!RTLD_STAT64].
* sysdeps/mach/hurd/fxstat64.c: Likewise.
* sysdeps/mach/hurd/tmpfile.c (tmpfile64): Define as alias of tmpfile.
(__fdopen): Use INTUSE.
* sysdeps/mach/hurd/tmpfile64.c: New file, empty placeholder.
* stdio-common/tmpfile64.c: File removed.
* sysdeps/generic/tmpfile64.c: New file.
* sysdeps/generic/tmpfile.c (GEN_THIS): New macro, define to __GT_FILE
if not already defined.
(tmpfile): Use it in place of __GT_FILE.
* include/unistd.h: Declare __chown_internal.
* sysdeps/mach/hurd/sendfile64.c (sendfile64): Do real work here.
* sysdeps/mach/hurd/sendfile.c (sendfile): Call that.
2002-06-09 Roland McGrath <roland@frob.com>
Update to new Hurd RPC interfaces supporting 64-bit file sizes.
* sysdeps/mach/hurd/configure.in: Check for <hurd/version.h> with
value of HURD_INTERFACE_VERSION >= 20020609.
* sysdeps/mach/hurd/configure: Regenerated.
* shlib-versions (.*-.*-gnu-gnu.*): Set libhurduser=0.3.
* sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Rewritten to
convert a struct stat64 into a struct stat and return 0 or -1
with errno set to EOVERFLOW.
* sysdeps/mach/hurd/statfsconv.c (statfs64_conv): Likewise
for struct statfs64 to struct statfs.
* sysdeps/mach/hurd/xstat.c (__xstat): Use converter and call ...
* sysdeps/mach/hurd/xstat64.c (__xstat64): ... this, real work here.
* sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise.
* sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise.
* sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise.
* sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise.
* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
* sysdeps/mach/hurd/statfs64.c (__statfs64): Likewise.
* sysdeps/mach/hurd/fstatfs.c (__fstatfs): Likewise.
* sysdeps/mach/hurd/fstatfs64.c (__fstatfs64): Likewise.
* sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Do real work here.
* sysdeps/mach/hurd/pwrite.c (__libc_pwrite): Call that.
* sysdeps/mach/hurd/pread64.c (__libc_pread64): Do real work here.
* sysdeps/mach/hurd/pread.c (__libc_pread): Call that.
* sysdeps/mach/hurd/lseek64.c (__libc_lseek64): Do real work here.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Call that.
* sysdeps/mach/hurd/readdir64.c (__readdir64): Do real work here.
* sysdeps/mach/hurd/readdir.c (__readdir): Call that.
* sysdeps/mach/hurd/readdir64_r.c (__readdir64_r): Do real work here.
* sysdeps/mach/hurd/readdir_r.c (__readdir64_r): Call that.
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry):
Use struct stat64 for io_stat argument.
* sysdeps/mach/hurd/readlink.c (__readlink): Likewise.
* hurd/fopenport.c (seekio): Remove EOVERFLOW check, pass POS directly
to io_seek.
* hurd/fd-read.c (_hurd_fd_read): Use loff_t for OFFSET argument.
* hurd/fd-write.c (_hurd_fd_write): Likewise.
* hurd/hurd/fd.h: Update decls.
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): Use ino64_t
and struct dirent64.
* sysdeps/mach/hurd/dl-sysdep.c (open_file): Use struct stat64.
(__xstat): Renamed to __xstat64, use struct stat64 for argument.
(__fxstat): Renamed to __fxstat64, use struct stat64 for argument.
(__lseek): Renamed to __libc_lseek64, use off64_t for argument.
2002-06-08 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/dirstream.h (struct __dirstream): Use size_t
instead of unsigned long int for __allocation and __size members.
2002-05-19 Ulrich Drepper <drepper@redhat.com>