2004-06-15 Steven Munroe <sjmunroe@us.ibm.com>
* tst-context1.c (GUARD_PATTERN): Defined.
(tst_context_t): Define struct containing ucontext_t & guard words.
(ctx): Declare as an array of tst_context_t.
(fct): Verify uc_link & guard words are still valid.
(tf): Initialize guard words in ctx. Adjust ctx refs for new struct.
2004-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
Add __data.__futex field, reshuffle __data.__clock.
* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
(__pthread_cond_signal): Increment __futex at the same time as
__wakeup_seq or __total_seq. Pass address of __futex instead of
address of low 32-bits of __wakeup_seq to futex syscall.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
(__pthread_cond_wait): Likewise. Pass __futex value from before
releasing internal lock to FUTEX_WAIT.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
(__pthread_cond_timedwait): Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
(FUTEX_CMP_REQUEUE): Define.
(__pthread_cond_broadcast): Set __futex to 2 * __total_seq.
Use FUTEX_CMP_REQUEUE operation instead of FUTEX_REQUEUE.
Pass __futex value from before the unlock and __futex address instead
of address of low 32-bits of __wakeup_seq to futex syscall.
Fallback to FUTEX_WAKE all on any errors.
2004-06-07 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue):
Pass val argument as 6th system call argument in %r7.
2004-05-25 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/fpu/Makefile: Make ld.so a dependency of libm.so.
* sysdeps/powerpc/fpu/bits/mathinline.h [__LIBC_INERNAL_MATH_INLINES]
(__ieee754_sqrt): Define as __MATH_INLINE using fsqrt instruction.
(__ieee754_sqrtf): Define as __MATH_INLINE using fsqrts instruction.
* sysdeps/powerpc/fpu/e_sqrt.c (__slow_ieee754_sqrt): Moved
implementation from w_sqrt.c.
* sysdeps/powerpc/fpu/e_sqrtf.c (__slow_ieee754_sqrtf): Moved
implementation from w_sqrtf.c.
* sysdeps/powerpc/fpu/w_sqrt.c (__sqrt): Wrapper implementation
using inline __ieee754_sqrt().
* sysdeps/powerpc/fpu/w_sqrtf.c (__sqrtf): Wrapper implementation
using inline __ieee754_sqrtf().
* sysdeps/powerpc/powerpc32/sysdep.h [__ASSEMBLER__]: Include
<sysdeps/powerpc/sysdep.h> independent of __ASSEMBLER__.
* sysdeps/powerpc/sysdep.h [__ASSEMBLER__] (PPC_FEATURE_*): Define
PPC_FEATURE_* independent of __ASSEMBLER__.
2004-05-25 Jakub Jelinek <jakub@redhat.com>
* sysdeps/pthread/aio_notify.c: Use <> instead of "" for aio_misc.h
include.
(aio_start_notify_thread): Define if not defined.
(notify_func_wrapper): Use it.
* sysdeps/pthread/aio_misc.c: Use <> instead of "" for aio_misc.h
include.
(aio_create_helper_thread): Define if not defined.
(__aio_create_helper_thread): New function.
(__aio_enqueue_request): Use aio_create_helper_thread.
* nis/ypclnt.c (ypall_data, ypall_foreach): Remove.
(struct ypresp_all_data): New type.
(__xdr_ypresp_all): Change second argument to
struct ypresp_all_data *. Replace ypall_foreach and
ypall_data with objp->foreach and objp->data.
(yp_all): Remove status variable, add data. Replace
all uses of status with data.status. Initialize data.foreach
and data.data instead of ypall_foreach and ypall_data.
2004-05-24 Jakub Jelinek <jakub@redhat.com>
* elf/dl-lookup.c (add_dependency): Set DF_1_NODELETE bit
in l_flags_1, not in l_flags.
Update.
2004-05-18 Petter Reinholdtsen <pere@hungry.com>
* locales/sl_SI [LC_TIME]: Correct d_fmt date format from
'22.06.2003' to '22. 06. 2003'. Change requested from Aleks
Reinhardt, and approved by the locale author Borka
Jerman-Blazic. [BZ #163]
2004-04-23 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ia64/fpu/libm_support.h (__libm_error_support): Add
libc_hidden_proto. Define to __GI___libm_error_support for
assembly going into libc.so.
* sysdeps/ia64/fpu/libc_libm_error.c (__libm_error_support): Add
libc_hidden_def.
* include/libc-symbols.h (HIDDEN_BUILTIN_JUMPTARGET): Define.
* sysdeps/ia64/bcopy.S (bcopy): Use it for jump to memmove.
* sysdeps/unix/sysv/linux/ia64/sysdep.S (__syscall_error): Access
gprel errno if RTLD_PRIVATE_ERRNO or __thread __libc_errno/errno
if USE___THREAD.
2004-04-20 Jakub Jelinek <jakub@redhat.com>
* stdio-common/vfscanf.c (_IO_vfscanf): When skipping whitespace,
do input_error () instead of conv_error () and don't look at errno.
Don't eat any whitespace before %% if skip_space == 0.
* stdio-common/tst-sscanf.c (int_tests): New array.
(main): Run int_tests.
See ChangeLog.14 for earlier changes.
2004-04-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/timer_routines.c: Include errno.h.
(timer_helper_thread): Use inline rt_sigtimedwait syscall instead
of calling sigwaitinfo.
2004-04-08 Ulrich Drepper <drepper@redhat.com>
* rt/tst-mqueue3.c: New file.
* rt/Makefile (tests): Add tst-mqueue3.
2004-04-08 Jakub Jelinek <jakub@redhat.com>
* rt/tst-mqueue1.c: New file.
* rt/tst-mqueue2.c: New file.
* rt/tst-mqueue4.c: New file.
* rt/Makefile (tests): Add tst-mqueue1, tst-mqueue2, tst-mqueue4.
* rt/Versions (librt): Add mq_*@@GLIBC_2.3.4.
* rt/Makefile (headers): Add mqueue.h and bits/mqueue.h.
(mq-routines): Set.
(librt-routines): Use it.
* rt/mqueue.h: New file.
* include/mqueue.h: New file.
* sysdeps/generic/bits/mqueue.h: New file.
* sysdeps/generic/mq_setattr.c: New file.
* sysdeps/generic/mq_getattr.c: New file.
* sysdeps/generic/mq_notify.c: New file.
* sysdeps/generic/mq_close.c: New file.
* sysdeps/generic/mq_send.c: New file.
* sysdeps/generic/mq_unlink.c: New file.
* sysdeps/generic/mq_receive.c: New file.
* sysdeps/generic/mq_timedreceive.c: New file.
* sysdeps/generic/mq_timedsend.c: New file.
* sysdeps/generic/mq_open.c: New file.
* sysdeps/unix/sysv/linux/bits/local_lim.h (MQ_PRIO_MAX): Define.
* sysdeps/unix/sysv/linux/bits/mqueue.h: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add mq_timedsend,
mq_timedreceive and mq_setattr.
* sysdeps/unix/sysv/linux/mq_getattr.c: New file.
* sysdeps/unix/sysv/linux/mq_notify.c: New file.
* sysdeps/unix/sysv/linux/mq_close.c: New file.
* sysdeps/unix/sysv/linux/mq_send.c: New file.
* sysdeps/unix/sysv/linux/mq_unlink.c: New file.
* sysdeps/unix/sysv/linux/mq_receive.c: New file.
* sysdeps/unix/sysv/linux/mq_open.c: New file.
2004-04-09 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.
2004-04-09 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
2004-03-30 H.J. Lu <hongjiu.lu@intel.com>
* Makeconfig (link-libc-static): Use $(static-gnulib) instead
of $(gnulib).
(libgcc_eh): New variable.
(gnulib): Use it variable.
(static-gnulib): New variable.
* Makerules (LDLIBS-c.so): Use $(static-gnulib) instead of $(gnulib).
* config.make.in (have-as-needed): New variable.
* configure.in: Check if linker supports --as-needed.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(__lll_mutex_timedlock_wait): Preserve r8 and r9 since the
vgettimeofday call miht destroy the content.
2004-03-22 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
(__getpagesize): Avoid warning about writing into read-only memory.
* string/Makefile (routines): Add xpg-strerror.
* string/string.h (strerror_r): If __USE_XOPEN2K but not __USE_GNU,
redirect strerror_r to __xpg_strerror_r.
* string/Versions (libc): Add __xpg_strerror_r@@GLIBC_2.3.4.
* sysdeps/generic/xpg-strerror.c: New file.
* sysdeps/mach/xpg-strerror.c: New file.
2004-03-20 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (CENABLE): Save
the return value to a safe register.
(CDISABLE): Set the function argument correctly.
(parse_conf): Call it to parse lines starting with "include".
Remaining words are glob patterns for more config files to read.
Take additional bool argument to disable opt_chroot processing.
(main): Update caller.
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-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
(__lll_mutex_lock_wait): Optimize a bit more. Just one copy of
the atomic instruction needed.
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
(__lll_mutex_lock_wait): Likewise.
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-26 Ulrich Drepper <drepper@redhat.com>
* nss/getXXbyYY_r.c: Pass result also to the nscd_* function. Don't
set *result here.
* nscd/nscd_proto.h: Add new argument for pointer to result pointer
to all nscd_* functions.
* nscd/nscd_getgr_r.c (nscd_getgr_r): Add new parameter. Store result
pointer in the address provided by the new parameter if successful.
Otherwise store NULL. Return zero if no entry found.
(__nscd_getgrnam_r, __nscd_getgrgid_r): Add new parameter and pass
it on.
* nscd/nscd_gethst_r.c (nscd_gethst_r): Add new parameter. Store
result pointer in the address provided by the new parameter if
successful. Otherwise store NULL. Return zero if no entry found.
(__nscd_gethostbyname_r, __nscd_gethostbyname2_r,
__nscd_gethostbyaddr_r): Add new parameter and pass it on.
* nscd/nscd_getpw_r.c (nscd_getpw_r): Add new parameter. Store result
pointer in the address provided by the new parameter if successful.
Otherwise store NULL. Return zero if no entry found.
(__nscd_getpwnam_r, __nscd_getpwuid_r): Add new parameter and pass
it on.
* Makefile (tests-nolibpthread): Add tst-unload. Don't link with
libpthread for the files in this list.
(CFLAGS-tst-unload): Removed.
* tst-unload.c (do_test): Don't use complete path for
LIBPHREAD_SO.
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 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-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.