* locale/programs/ld-numeric.c (numeric_read) [case tok_grouping]:
We bail out early if ignore_content is set, so there is no need to
check it later again [Coverity CID 72].
* inet/inet6_option.c (inet6_option_find): Check *tptrp for NULL,
not tptrp [Coverity CID 73].
* inet/inet6_option.c (inet6_option_next): Check *tptrp for NULL,
not tptrp [Coverity CID 74].
* misc/tsearch.c (__tsearch): Don't rotate tree if memory
allocation failed [Coverity CID 78].
Roland McGrath [Tue, 4 Apr 2006 08:18:56 +0000 (08:18 +0000)]
[BZ #2505]
2006-04-03 Steven Munroe <sjmunroe@us.ibm.com>
[BZ #2505]
* sysdeps/powerpc/powerpc32/bits/atomic.h [_ARCH_PWR4]:
Define atomic_read_barrier and __ARCH_REL_INSTR using lwsync.
Roland McGrath [Tue, 4 Apr 2006 00:22:16 +0000 (00:22 +0000)]
[BZ #2507]
2006-04-03 Roland McGrath <roland@frob.com>
[BZ #2507]
* mach/Machrules (.udeps-targets): New variable.
($(objpfx)%.udeps static pattern rule): Use it to avoid \ inside
quoted string.
Roland McGrath [Tue, 4 Apr 2006 00:22:05 +0000 (00:22 +0000)]
[BZ #2507]
2006-04-03 Roland McGrath <roland@frob.com>
[BZ #2507]
* mach/Machrules (.udeps-targets): New variable.
($(objpfx)%.udeps static pattern rule): Use it to avoid \ inside
quoted string.
2006-04-02 Ulrich Drepper <drepper@redhat.com>
[BZ #2418]
* sysdeps/unix/sysv/linux/bits/socket.h: Use larger of PATH_MAX and
page size when allocating buffer.
* posix/unistd.h: Match return value of readlink to what POSIX
says these days.
* io/readlink.c: Likewise.
* io/readlinkat.c: Likewise.
* sysdeps/unix/sysv/linux/readlinkat.c: Likewise.
2006-04-01 Ulrich Drepper <drepper@redhat.com>
[BZ #2498]
* nscd/connections.c (main_loop_poll): If the connection cannot be
accepted because of user-imposed limits close the descriptor.
Roland McGrath [Thu, 16 Mar 2006 23:17:32 +0000 (23:17 +0000)]
[BZ #2466]
* math/gen-libm-test.pl (parse_args): Take function name for pretty
output as an argument.
(generate_testfile): Pass it the name given in the START macro.
[BZ #2466]
* math/libm-test.inc (llrint_test, llround_test): Fix last change to
protect large-precision cases with [LDBL_MANT_DIG > 100].
(llrint_test_tonearest, llrint_test_towardzero): Likewise.
(llrint_test_downward, llrint_test_upward): Likewise.
2006-03-15 Steven Munroe <sjmunroe@us.ibm.com>
Alan Modra <amodra@bigpond.net.au>
[BZ #2466]
* math/libm-test.inc (llrint_test, llround_test) [TEST_LDOUBLE]:
Add new test values.
(llrint_test_tonearest, llrint_test_towardzero, llrint_test_downward,
llrint_test_upward): New functions.
(main): Call them.
* sysdeps/ieee754/ldbl-128ibm/s_llrintl.c (__llrintl): Handle
rounding that spans doubles in IBM long double format.
* sysdeps/ieee754/ldbl-128ibm/s_llroundl.c (__llroundl): Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_llrintl.S: Removed.
* sysdeps/powerpc/powerpc64/fpu/s_llroundl.S: Removed.
* sysdeps/powerpc/powerpc64/fpu/s_lrintl.S: Removed.
* sysdeps/powerpc/powerpc64/fpu/s_lroundl.S: Removed.
Roland McGrath [Thu, 16 Mar 2006 11:49:03 +0000 (11:49 +0000)]
* sysdeps/powerpc/powerpc32/fpu/fprsave.S: Add cfi_offset for spilling
of non-volatile floating-point registers to the stack (fp14-fp31).
* sysdeps/powerpc/powerpc32/gprsave0.S: Add cfi_offset for spilling of
non-volatile general-purpose registers to the stack (gpr13-gpr31).
* sysdeps/powerpc/powerpc64/dl-trampoline.S: Add cfi_offset
for non-volatiles gpr30 - grp31 spilled to the stack.
* sysdeps/powerpc/powerpc64/memcpy.S: Add cfi_offset for non-volatile
gpr31 spill to the stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
Add cfi_offset for non-volatile gpr31 spill to the stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Add cfi_offset
for non-volatiles gpr28 - grp31 spilled to the stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Add
cfi_adjust_cfa_offset when a frame is stacked.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S:
(__novec_setcontext) : Add cfi_offset for non-volatile gpr31 spill
add LR saved to the stack. Add cfi_adjust_cfa_offset when frame is
stacked.
(__setcontext) : Add cfi_offset for non-volatile gpr31 spill to
the stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S:
(__novec_swapcontext) : Add cfi_offset for non-volatile gpr31 spill
add LR saved to the stack.
(__swapcontext) : Add cfi_offset for non-volatile gpr31 spill add LR
saved to the stack. Add cfi_adjust_cfa_offset when frame is stacked.
Roland McGrath [Thu, 16 Mar 2006 11:47:24 +0000 (11:47 +0000)]
[BZ #2423]
2006-03-07 Jakub Jelinek <jakub@redhat.com>
[BZ #2423]
* math/libm-test.inc [TEST_LDOUBLE] (ceil_test, floor_test, rint_test,
round_test, trunc_test): Only run some of the new tests if
LDBL_MANT_DIG > 100.
2006-03-03 Steven Munroe <sjmunroe@us.ibm.com>
Alan Modra <amodra@bigpond.net.au>
* sysdeps/powerpc/fpu/fenv_libc.h (__fegetround, __fesetround):
Define inline implementations.
* sysdeps/powerpc/fpu/fegetround.c: Use __fegetround.
* sysdeps/powerpc/fpu/fesetround.c: Use __fesetround.
* sysdeps/powerpc/fpu/math_ldbl.h: New file.
[BZ #2423]
* math/libm-test.inc [TEST_LDOUBLE] (ceil_test, floor_test, rint_test,
round_test, trunc_test): Add new tests.
* sysdeps/ieee754/ldbl-128ibm/math_ldbl.h
(EXTRACT_IBM_EXTENDED_MANTISSA, INSERT_IBM_EXTENDED_MANTISSA):
Removed, replaced with ...
(ldbl_extract_mantissa, ldbl_insert_mantissa, ldbl_pack, ldbl_unpack,
ldbl_canonicalise, ldbl_nearbyint): New functions.
* sysdeps/ieee754/ldbl-128ibm/e_fmodl.c (__ieee754_fmodl): Replace
EXTRACT_IBM_EXTENDED_MANTISSA and INSERT_IBM_EXTENDED_MANTISSA
with ldbl_extract_mantissa and ldbl_insert_mantissa.
* sysdeps/ieee754/ldbl-128ibm/e_rem_pio2l.c (__ieee754_rem_pio2l):
Replace EXTRACT_IBM_EXTENDED_MANTISSA with ldbl_extract_mantissa.
(ldbl_extract_mantissa, ldbl_insert_mantissa): New inline functions.
* sysdeps/ieee754/ldbl-128ibm/s_ceill.c (__ceill): Handle rounding
that spans doubles in IBM long double format.
* sysdeps/ieee754/ldbl-128ibm/s_floorl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_rintl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
* sysdeps/ieee754/ldbl-128ibm/s_truncl.c: Likewise.
* sysdeps/powerpc/powerpc64/fpu/s_rintl.S: File removed.
Ulrich Drepper [Wed, 15 Mar 2006 19:26:13 +0000 (19:26 +0000)]
[BZ #2451]
2006-03-13 Jakub Jelinek <jakub@redhat.com>
[BZ #2451]
* elf/dl-load.c (open_verify): Add free_name argument, if true, free
name before calling lose.
(open_path): Adjust caller.
(_dl_map_object): Adjust callers. Free name_copy before calling
_dl_signal_error.
* elf/Makefile: Add rules to build and run tst-leaks1.
* elf/tst-leaks1.c: New test.
Roland McGrath [Mon, 6 Mar 2006 07:59:23 +0000 (07:59 +0000)]
* sysdeps/mach/hurd/faccessat.c: New file.
* sysdeps/mach/hurd/fchmodat.c: New file.
* sysdeps/mach/hurd/fchownat.c: New file.
* sysdeps/mach/hurd/fxstatat.c: New file.
* sysdeps/mach/hurd/fxstatat64.c: New file.
* sysdeps/mach/hurd/linkat.c: New file.
* sysdeps/mach/hurd/mkdirat.c: New file.
* sysdeps/mach/hurd/openat.c: New file.
* sysdeps/mach/hurd/openat64.c: New file.
* sysdeps/mach/hurd/symlinkat.c: New file.
* sysdeps/mach/hurd/unlinkat.c: New file.
* sysdeps/mach/hurd/xmknod.c (__xmknod): Just call __xmknodat.
Guts move to ...
* sysdeps/mach/hurd/xmknodat.c: ... here, new file.
* hurd/lookup-at.c: New file.
* hurd/Makefile (routines): Add it.
* hurd/hurd/fd.h: Declare __file_name_lookup_at,
__file_name_split_at and __directory_name_split_at.
Roland McGrath [Fri, 3 Mar 2006 11:21:41 +0000 (11:21 +0000)]
* sysdeps/unix/alpha/sysdep.h (PTR_MANGLE): Use __typeof in cast.
2006-03-02 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/configure.in: Remove MIPS cases. Allow
libc_cv_slibdir et al. to be overridden.
* sysdeps/unix/sysv/linux/configure: Regenerated.
Ulrich Drepper [Thu, 2 Mar 2006 15:58:36 +0000 (15:58 +0000)]
006-03-02 Jakub Jelinek <jakub@redhat.com>
* elf/check-textrel.c: Include config.h.
(AB(handle_file)): Don't fail if PF_X | PF_W on architectures known
to have executable writable PLT.
* sysdeps/powerpc/powerpc32/configure.in (HAVE_PPC_SECURE_PLT): New
test.
* config.h.in (HAVE_PPC_SECURE_PLT): Add.
* malloc/malloc.c (MALLOC_ALIGNMENT): Set to __alignof__ (long double)
if long double is more aligned than 2 * SIZE_SZ.
(misaligned_chunk): Define.
(public_rEALLOc, _int_free, _int_realloc): Use it.
Ulrich Drepper [Thu, 2 Mar 2006 15:53:19 +0000 (15:53 +0000)]
(MALLOC_ALIGNMENT): Set to __alignof__ (long double) if long double is more aligned than 2 * SIZE_SZ. (misaligned_chunk): Define. (public_rEALLOc, _int_free, _int_realloc): Use it.
(__lll_robust_lock_wait): Also set FUTEX_WAITERS bit if we got the
mutex.
(__lll_robust_timedlock_wait): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S
(__lll_robust_lock_wait): Likewise.
(__lll_robust_timedlock_wait): Likewise.
* sysdeps/unix/sysv/linux/lowlevelrobustlock.c
(__lll_robust_lock_wait): Likewise.
(__lll_robust_timedlock_wait): Likewise.
Roland McGrath [Wed, 1 Mar 2006 09:17:48 +0000 (09:17 +0000)]
* configure.in (machine): Match sparcv9v and sparc64v.
* configure: Regenerated.
* sysdeps/sparc/sparc32/sparcv9v/memcpy.S: New file.
* sysdeps/sparc/sparc32/sparcv9v/memset.S: New file.
* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: New file.
* sysdeps/sparc/sparc64/sparcv9v/memset.S: New file.
Roland McGrath [Wed, 1 Mar 2006 06:18:49 +0000 (06:18 +0000)]
* elf/tst-tls-dlinfo.c: New file.
* elf/Makefile (tests): Add it.
($(objpfx)tst-tls-dlinfo): Depend on $(libdl).
($(objpfx)tst-tls-dlinfo.out): Depend on $(objpfx)tst-tlsmod2.so.
* dlfcn/dlfcn.h (RTLD_DI_PROFILENAME, RTLD_DI_PROFILEOUT): New enum
values, reserve unsupported requested names used on Solaris.
(RTLD_DI_TLS_MODID, RTLD_DI_TLS_DATA): New enum values.
(RTLD_DI_MAX): Likewise.
* dlfcn/dlinfo.c (dlinfo_doit): Handle RTLD_DI_TLS_MODID and
RTLD_DI_TLS_DATA.
* elf/dl-tls.c (_dl_tls_get_addr_soft): New function.
* sysdeps/generic/ldsodefs.h: Declare it.
* elf/Versions (ld: GLIBC_PRIVATE): Add it.
* elf/link.h (struct dl_phdr_info): New members dlpi_tls_modid,
dlpi_tls_data.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Fill them in.
* include/link.h: Don't copy contents from elf/link.h.
Instead, #include it while #define'ing around link_map.
* elf/dl-debug.c (_dl_debug_initialize): Add a cast.
Add bogus extern decl to verify link_map members.
* elf/loadtest.c (MAPS): New macro, cast _r_debug._r_map.
(OUT, main): Use it in place of _r_debug._r_map.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/neededtest.c (check_loaded_objects): Likewise.
* elf/neededtest2.c (check_loaded_objects): Likewise.
* elf/neededtest3.c (check_loaded_objects): Likewise.
* elf/neededtest4.c (check_loaded_objects): Likewise.
* elf/circleload1.c (check_loaded_objects): Likewise.
Roland McGrath [Wed, 1 Mar 2006 05:32:59 +0000 (05:32 +0000)]
* include/fcntl.h: Declare __openat, __open64. Use libc_hidden_proto.
* io/openat.c (__openat): Define instead of openat.
Use libc_hidden_def. Define openat with weak_alias.
* io/openat64.c (__openat64): Define instead of openat64.
Use libc_hidden_def. Define openat64 with weak_alias.
* sysdeps/unix/sysv/linux/openat.c: Likewise.
* libio/genops.c: Include <sched.h> for __sched_yield decl.
Roland McGrath [Tue, 28 Feb 2006 19:07:44 +0000 (19:07 +0000)]
* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: Include x86_64
umount.c rather than hppa umount.c.
* sysdeps/unix/sysv/linux/sparc/sparc32/chown.c: Include sh chown.c
rather than m68k chown.c.
* sysdeps/unix/sysv/linux/sparc/sparc32/fchownat.c: Include sh
fchownat.c rather than m68k fchownat.c.
* sysdeps/unix/sysv/linux/sh/chown.c: Copy over from m68k chown.c.
* sysdeps/unix/sysv/linux/sh/fchownat.c: Copy over from m68k
fchownat.c.
* sysdeps/unix/sysv/linux/x86_64/brk.c: Copy over from hppa brk.c.
* sysdeps/unix/sysv/linux/x86_64/umount.c: Copy over from hppa
umount.c.