2004-03-24 Jakub Jelinek <jakub@redhat.com>
* stdlib/strtod_l.c (INTERNAL (__STRTOF)): Clear the rest of retval,
not just one limb if RETURN_LIMB_SIZE > 2. Fix shifting up if
RETURN_LIMB_SIZE > 2.
* stdio-common/printf_fp.c (__printf_fp): For IEEE quad long double
on 32-bit architectures reserve 8 limbs instead of 4.
2004-02-20 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/pspinlock.c: Move from here.
* sysdeps/powerpc/powerpc32/pspinlock.c: To here.
* sysdeps/powerpc/powerpc64/pspinlock.c: New file.
* sysdeps/powerpc/powerpc64/pt-machine.h: Define __compare_and_swap32
and __compare_and_swap32_with_release_semantics.
2004-02-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc32/bits/atomic.h: Add __make_section_unallocated
for .gnu.linkonce.b.__sparc32_atomic_locks section.
(__sparc32_atomic_locks): Add __sec_comment at the end of section name.
2004-02-13 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/__longjmp-common.S: New file.
* sysdeps/powerpc/powerpc64/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc64/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
Non-versioned _setjmp for rtld-_setjmp.
[!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
as default version of _setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx_setjmp): Original version of _setjmp.
* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__vmxsetjmp): Branch to
__vmx__sigsetjmp and define as default version of setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmxsetjmp): Original version of setjmp.
* sysdeps/powerpc/powerpc64/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc64/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/powerpc32/__longjmp-common.S: New File
* sysdeps/powerpc/powerpc32/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc32/bsd-_setjmp.S [NOT_IN_libc](_setjmp):
Non-versioned _setjmp for rtld-_setjmp.
[!NOT_IN_libc](__vmx_setjmp): Branch to __vmx__sigsetjmp and define
as default version of _setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx_setjmp): Original version of _setjmp.
* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__vmxsetjmp): Branch to
__vmx__sigsetjmp and define as default version of setjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmxsetjmp): Original version of setjmp.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/fpu/__longjmp.S [NOT_IN_libc](__longjmp):
Non-versioned __longjmp for rtld-__longjmp.
[!NOT_IN_libc](__vmx__longjmp): Add VMX reg support and define as
default version of __longjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__longjmp): Original version of __longjmp.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/fpu/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/powerpc32/setjmp-common.S: New file.
* sysdeps/powerpc/powerpc32/setjmp.S [NOT_IN_libc](__setjmp):
Non-versioned __sigsetjmp for rtld-setjmp.
[!NOT_IN_libc](__vmx__sigsetjmp): Add VMX reg support and define
as default version of __sigsetjmp.
[SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)]
(__novmx__sigsetjmp): Original version of __sigsetjmp.
* sysdeps/powerpc/Dist: New File.
* sysdeps/powerpc/Makefile (sysdep_routines): Add novmx-longjmp.c
and novmx-sigjmp.c
* sysdeps/powerpc/Versions (libc): To GLIBC_2.3_4 add _longjmp,
__sigsetjmp, _setjmp, longjmp, and setjmp. To GLIBC_PRIVATE add
__novmx__libc_longjmp, __novmx__libc_siglongjmp, __vmx__libc_longjmp,
and __vmx__libc_siglongjmp.
* sysdeps/powerpc/bits/setjmp.h: Define JB_VRSAVE, JB_VRS, and adjust
JB_SIZE to add VMX regs to __jmp_buf.
* sysdeps/powerpc/longjmp.c: New file.
* sysdeps/powerpc/novmxsetjmp.h: New file.
* sysdeps/powerpc/novmx-longjmp.c: New file.
* sysdeps/powerpc/novmx-sigjmp.c: New file.
* sysdeps/powerpc/sigjmp.c: New file.
2004-01-13 Ulrich Drepper <drepper@redhat.com>
* posix/regex.c: Support crappy compilers and platforms which have
problems with alloca.
* posix/regex_internal.h: Likewise.
Patch by Paolo Bonzini.
* posix/regexec.c (re_copy_regs): Allocate start and end array in
one block.
(push_fail_stack): Add missing check for failed memory allocation.
_IO_peekc_unlocked, _IO_ptc_unlocked, _IO_getwc_unlocked, and
overflow for 0 as argument. Raise Invalid exception for negative args.
2003-12-17 Jakub Jelinek <jakub@redhat.com>
* malloc/mtrace.c (tr_old_memalign_hook): New variable.
(tr_memalignhook): New function.
(mtrace): Register tr_memalignhook.
(muntrace): Deregister tr_memalignhook.
* malloc/malloc.c (__posix_memalign): If __memalign_hook != NULL,
call it directly instead of memalign_internal.
2003-12-17 Ulrich Drepper <drepper@redhat.com>
* misc/mntent_r.c: Change encoding to match recently change decoder.
Patch by Alexander Achenbach <xela@slit.de>.
2003-12-16 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Correct definition of
vrregset_t.
2003-12-16 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h [!__PPC64_ELF_H]: Extent
conditional to include typedef elf_vrreg_t.
2002-12-17 Paolo Bonzini <bonzini@gnu.org>
* posix/regexec.c (re_search_internal): Limit search to the
beginning of the buffer if the initial states are empty for
contexts that do not include CONTEXT_BEGBUF or, if
!preg->newline_anchor, that do not include any one of
CONTEXT_BEGBUF and CONTEXT_NEWLINE.
2003-12-16 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/tcb-offsets.sym [!__powerpc64__]: Remove
conditional so MULTIPLE_THREADS_OFFSET is generated for both.
* sysdeps/powerpc/tls.h [!__powerpc64__]: Remove conditional
so TLS_MULTIPLE_THREADS_IN_TCB is generated for both.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h:
Include tls.h.
2003-12-01 Jes Sorensen <jes@wildopensource.com>
* rt/tst-clock.c (do_test): Print message when skipping
CLOCK_PROCESS_CPUTIME_ID test.
* sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: New file.
Provide CLOCK_PROCESS_CPUTIME_ID only if /proc/sal/itc_drift is 0.
peek_token. This avoids some copying and reduces code size.
(init_dfa): Initialize map_notascii.
(build_wcs_upper_buffer): If map_notascii is zero use simplified
2003-12-02 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/elf/initfini.c: Add unwind info.
* sysdeps/ia64/dl-machine.h (elf_machine_matches_host): Mark with
attribute "unused".
(elf_machine_dynamic): Mark with attributes "unused" and "const".
(elf_machine_runtime_setup): Likewise.
* sysdeps/generic/dl-fptr.c (make_fptr_table): Mark with
attribute "always_inline".
* sysdeps/ia64/dl-machine.h (__ia64_init_bootstrap_fdesc_table):
Likewise.
* configure.in: Check whether compiler has libunwind support.
* config.make.in (have-cc-with-libunwind): New variable.
* config.h.in (HAVE_CC_WITH_LIBUNWIND): New macro.
* Makeconfig (gnulib): If have-cc-withh-libunwind is "yes", also
mention -lunwind.
003-11-12 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/sysdep.h: Define DO_CALL_VIA_BREAK.
Redefine DO_CALL to use vdso if supported, otherwise DO_CALL_VIA_BREAK.
Likewise for DO_INLINE_SYSCALL. Make INTERNAL_SYSCALL use
DO_INLINE_SYSCALL.
* sysdeps/unix/sysv/linux/ia64/vfork.S: Use DO_CALL_VIA_BREAK()
instead of DO_CALL().
* sysdeps/unix/sysv/linux/ia64/clone2.S: Use break directly instead
of DO_CALL().
* sysdeps/unix/sysv/linux/ia64/brk.S (__curbrk): Restructure it
to take advantage of DO_CALL() macro.
* sysdeps/unix/sysv/linux/ia64/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/ia64/getcontext.S: Likewise.
* elf/rtld.c (dl_main): Restrict dl_sysinfo_dso check to first
program header. On ia64, the check failed previously because
there are two program headers.
* sysdeps/generic/s_nexttowardf.c: Likewise.
* math/bug-nexttoward.c: New file.
2003-11-04 Jakub Jelinek <jakub@redhat.com>
* io/ftw.c (ftw_dir): Close dir if callback with FTW_D type returns
non-zero.
* io/Makefile (tests): Add bug-ftw4.
* io/bug-ftw4.c: New test.
2003-09-26 Paolo Bonzini <bonzini@gnu.org>
* posix/regcomp.c (parse_sub_exp): Pass RE_CARET_ANCHORS_HERE
for the first token in a subexpression as well.
2003-10-02 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (peek_token): Add 2003-09-20 changes for anchor
handling again.
(parse_reg_exp): Likewise.
* posix/regex.h (RE_CARET_ANCHORS_HERE): Define.
* posix/bug-regex11.c (tests): Add new tests.
* posix/bug-regex12.c (tests): Add new test.
2003-10-01 Thorsten Kukuk <kukuk@suse.de>
* elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of
variables only used if TLS_DTV_AT_TP is defined into the #if branch.