2004-03-11 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/s390/s390-64/vfork.S (__vfork): Use jgnl
instead of jnl instruction to jump to SYSCALL_ERROR_LABEL.
* sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S (__vfork): Likewise.
2004-03-11 Jakub Jelinek <jakub@redhat.com>
* forward.c (__pthread_cond_broadcast_2_0,
__pthread_cond_destroy_2_0, __pthread_cond_init_2_0,
__pthread_cond_signal_2_0, __pthread_cond_wait_2_0,
__pthread_cond_timedwait_2_0): Use return 0 as defaction instead of 0.
2004-03-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: No need to
include <sysdep-cancel.h>, vfork is no cancellation point.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S: Likewise.
2004-03-10 Jakub Jelinek <jakub@redhat.com>
* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
compat_data_section): Define.
* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
attribute_compat_text_section.
* sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
__old_globfree): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
(__posix_fadvise64_l32): Likewise.
* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
(__posix_fadvise64_l32): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
Likewise.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
Likewise.
* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
* hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
(__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
(__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
(__makecontext_stub): Likewise.
(__novec_makecontext): Likewise. Fix name in END () to match
function name.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
(__setcontext): Use END instead of PSEUDO_END.
(__novec_setcontext): Add compat_text_section. Use END instead of
PSEUDO_END, fix the name in END () to match function name.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
(__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
(__novec_getcontext, __getcontext_stub): Add compat_text_section.
2004-03-10 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
(COPY_UNALIGNED_WORD): Remove cast used as lvalue.
2004-03-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-02-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/createthread.c (create_thread): Remove use of
CLONE_STOPPED. We cannot use SIGCONT which means CLONE_STOPPED
needs to be implemented differently to be useful.
* pthread_attr_setschedparam.c: Don't test priority against limits
here. Set ATTR_FLAG_SCHED_SET flag.
* pthread_attr_setschedpolicy.c: Set ATTR_FLAG_POLICY_SET flag.
* pthread_create.c (__pthread_create_2_1): Copy scheduling attributes
from parent thread to child. If attribute is used and scheduling
parameters are not inherited, copy parameters from attribute or
compute them. Check priority value.
* pthread_getschedparam.c: If the parameters aren't known yet get
them from the kernel.
* pthread_setschedparam.c: Set ATTR_FLAG_SCHED_SET and
ATTR_FLAG_POLICY_SET flag for thread.
* sysdeps/unix/sysv/linux/internaltypes.h: Define ATTR_FLAG_SCHED_SET
and ATTR_FLAG_POLICY_SET.
* sysdeps/pthread/createthread.c: Use tgkill if possible.
2004-02-22 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Pop register
content also in case of an overflow in the parameter.
Reported by Momchil Velikov <velco@fadata.bg>.
2004-02-19 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/generic/libc-start.c [LIBC_START_DISABLE_INLINE] (STATIC):
Define as static.
* sysdeps/powerpc/elf/libc-start.c: Define LIBC_START_DISABLE_INLINE
because gcc does not allow inline of functions that call setjmp.
2004-02-19 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/powerpc64/Makefile: Use -finline-limit.
2004-02-19 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (_dl_argv): If DL_ARGV_NOT_RELRO defined, don't
use attribute_relro for _dl_argv.
* sysdeps/alpha/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
* sysdeps/ia64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
* sysdeps/sparc/sparc32/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
* sysdeps/sparc/sparc64/dl-machine.h (DL_ARGV_NOT_RELRO): Define.
vfork instead of fork.
* sysdeps/unix/sysv/linux/i386/i486/pthread_barrier_wait.S
(pthread_barrier_wait): After wakeup, release lock only when the
last thread stopped using the barrier object.
* sysdeps/unix/sysv/linux/x86_64/pthread_barrier_wait.S
(pthread_barrier_wait): Likewise.
* sysdeps/pthread/pthread_barrier_wait.c (pthread_barrier_wait):
Likewise.
* Makefile (tests): Add tst-barrier4.
* tst-barrier4.c: New file.
2004-02-16 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Replace libc with
libpthread as "lib" parameter to SHLIB_COMPAT.
(__novmx_siglongjmp): Fix typo in function name.
(__novmx_longjmp): Fix typo in function name.
2004-01-29 Steven Munroe <sjmunroe@us.ibm.com>
* Makefile (libpthread-routines): Add pt-cleanup.
* pt-longjmp.c: Removed.
* pt-cleanup.c: Copied __pthread_cleanup_upto to here. New file.
* sysdeps/generic/pt-longjmp.c: Copied longjmp to here. New file.
* sysdeps/unix/sysv/linux/powerpc/Versions: New file.
Version longjmp, siglongjmp for GLIBC_2.3.4.
* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: New File.
2004-02-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Get internal lock in case timeout has
passed before the futex syscall.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Rewrite based
on powerpc version.
2004-01-13 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/Makefile: New file.
* sysdeps/alpha/tcb-offsets.sym: New file.
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (SINGLE_THREAD_P):
Use MULTIPLE_THREADS_OFFSET to implement !libpthread !libc version.
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: Rewrite based
on powerpc version.
register as second parameter to the REGISTER macro.
* sysdeps/ia64/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/powerpc/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/sh/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/sparc/tls.h (DB_THREAD_SELF): Likewise.
* sysdeps/s390/tls.h (DB_THREAD_SELF): Pass __WORDSIZE as bit size
of thread register as second parameter to REGISTER macro in 64 case.
2003-12-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/raise.c (raise): Protect pid = selftid
setting with __ASSUME_TGKILL || defined __NR_tgkill.
If pid is 0, set it to selftid.
* sysdeps/unix/sysv/linux/getpid.c (really_getpid): Make inline.
Don't set self->pid but self->tid. If self->pid == 0 and self->tid
!= 0, return self->tid without doing a syscall.
* descr.h (struct pthread): Move pid field after tid.
* Makefile (tests): Add tst-raise1.
* tst-raise1.c: New file.
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-11 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_futex_wait):
Assume parameter is a pointer.
(lll_futex_wake): Likewise.
Reported by Boris Hu.
* sysdeps/unix/sysv/linux/unregister-atfork.c
(__unregister_atfork): Pass pointer to refcntr to lll_futex_wait.
* sysdeps/unix/sysv/linux/sem_wait.c (__new_sem_wait): Simplify a bit.
2003-12-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/bits/libc-lock.h (__rtld_lock_initialize): Define.
* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Call
__rtld_lock_initialize for ld.so lock.
Patch in part by Adam Li <adam.li@intel.com>.
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-12-06 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Use .init_array
instead of .init. Patch by David Mosberger.
2003-11-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_PROT_GROWSUPDOWN): Define for 2.6.1 and up.
* sysdeps/unix/sysv/linux/dl-execstack.c: Omit compatibility code
if __ASSUME_PROT_GROWSUPDOWN is defined.
2003-11-26 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/dl-execstack.c
(_dl_make_stack_executable): Set dl_stack_flags always for
success.
* sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Don't
store mutex address if the current value is ~0l.
* sysdeps/pthread/pthread_cond_timedwait.c
(__pthread_cond_timedwait): Likewise.
* sysdeps/pthread/pthread_cond_broadcast.c
(__pthread_cond_broadcast): Don't use requeue for pshared
condvars.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
(__pthread_cond_wait): Don't store mutex address if the current
value is ~0l.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
(__pthread_cond_broadcast): Don't use requeue for pshared
condvars.
* pthread_cond_init.c (__pthread_cond_init): Initialize __mutex
element with ~0l for pshared condvars, with NULL otherwise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
(__pthread_cond_wait): Don't store mutex address if the current
value is ~0l.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
(__pthread_cond_broadcast): Don't use requeue for pshared
condvars.
2003-11-04 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/bits/stdio-lock.h: Use lll_*lock instead of
lll_mutex_*lock macros to skip atomic operations on some archs.
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-02 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h: Fix saving and
restoring of the old cancellation type.
* sysdeps/pthread/malloc-machine.h: New file
2003-09-17 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/vfork.S: Branch to fork if
libpthread is loaded. Elide backwards compatibility code when not
required.
(cfsetospeed): Only set c_ospeed under [_HAVE_STRUCT_TERMIOS_C_OSPEED].
(cfsetispeed): Only set c_ispeed under [_HAVE_STRUCT_TERMIOS_C_ISPEED].
* sysdeps/unix/sysv/linux/bits/termios.h
(_HAVE_STRUCT_TERMIOS_C_ISPEED, _HAVE_STRUCT_TERMIOS_C_OSPEED): Define.
* sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise.
2003-09-08 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/bits/types.h (__quad_t): Make long int if 64-bit.
(__u_quad_t): Make unsigned long int if 64-bit.
(__SQUAD_TYPE): Make long int if 64-bit.
(__UQUAD_TYPE): Make unsigned long int if 64-bit.
* sysdeps/unix/sysv/linux/s390/bits/typesizes.h: Remove.
2003-09-08 Ulrich Drepper <drepper@redhat.com>
* Makefile (tests): Run check-c++-types.sh if possible.
* scripts/check-c++-types.h: New file.
* scripts/data/c++-ctypes-i386-linux-gnu.data: New file.
contiguous case. Bug report from Prem Gopalan <prem@mazunetworks.com>.
* sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all
over the place. It would be allowed to have these fucntions as
cancellation points but the cleanup would be ugly and a lot of
work.
* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define.
* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define.
* include/fcntl.h (__fcntl_nocancel): Declare.
* sysdeps/unix/sysv/linux/fcntl.c: New file.
* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable
cancellation if absolutely needed.
(__fcntl_nocancel): Define.
* posix/unistd.h (gethostid): Remove __THROW. Clarify comment.
* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add
-fexceptions.
* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use
extend_alloca.
* resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status
instead of __close.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Also
defined symbol for entry point to avoid cancellation.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (PSEUDO):
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h (PSEUDO):
Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
Likewise.
* sysdeps/unix/sysv/linux/i386/not-cancel.h (__open_nocancel,
__close_nocancel, __read_nocancel, __write_nocancel,
__waitpid_nocancel): Add attribute_hidden. If not in libc.so,
libpthread.so or librt.so, define to corresponding function
without _nocancel suffix.
* sysdeps/unix/sysv/linux/s390/not-cancel.h: New file.
* sysdeps/unix/sysv/linux/powerpc/not-cancel.h: New file.
* sysdeps/unix/sysv/linux/sparc/not-cancel.h: New file.
2003-09-02 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/not-cancel.h: New file.
* sysdeps/unix/sysv/linux/x86-64/not-cancel.h: New file.
* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Make sure the code
in subsections has a symbol associated with it.
* sysdeps/unix/sysv/linux/i386/sysdep-cancel.h (PSEUDO): Also
defined symbol for entry point to avoid cancellation.
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h (PSEUDO): Likewise.
2003-09-01 Thorsten Kukuk <kukuk@suse.de>
* nis/nss_compat/compat-spwd.c (getspnam_plususer): Return
NSS_STATUS_SUCCESS if entry was found.
(getspent_next_file): Store user in blacklist after entry
was found, use innetgr.
2003-09-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise.c: New.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: New.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Fix tls offset
computation for TCB_AT_TP. Support l_firstbyte_offset != 0 for
DTV_AT_TP, optimize.
* sysdeps/unix/sysv/linux/alpha/timer_delete.c: New file.
* sysdeps/unix/sysv/linux/alpha/timer_getoverr.c: New file.
* sysdeps/unix/sysv/linux/alpha/timer_gettime.c: New file.
* sysdeps/unix/sysv/linux/alpha/timer_settime.c: New file.
* sysdeps/unix/sysv/linux/alpha/Versions: New file.
* sysdeps/unix/sysv/linux/alpha/aio_cancel.c: New file.
2003-08-26 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
(lll_mutex_unlock_force): Add memory barrier between store and futex
syscall.