noreturn attribute, remove statements that will never be executed.
* sysdeps/pthread/timer_routines.c (thread_func): Add noreturn
attribute, remove statements that will never be executed.
2000-10-14 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (frexp_test): Add L suffix also to parameters.
(hypot_test): Likewise.
* sysdeps/generic/printf_fphex.c: Compute width of decimal point
string correctly. Handle padding correctly.
* sysdeps/ia64/fpu/printf_fphex.c: Use sizeof in _itowa parameters
correctly.
* sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise.
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* FAQ.in: Add --start-group and --end-group.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* malloc/memusage.c: Conditionalize stack usage calculation on
stack direction.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* config.h.in: Add ASM_LINE_SEP.
* configure.in: Add test for comment and line separators.
* include/libc-symbols.h: Define and use ASM_LINE_SEP, and add tabs to
placate some hppa assemblers.
* sysdeps/hppa/sysdep.h: Likewise.
* sysdeps/gnu/siglist.c: Insert \n and \t into inline asm.
* sysdeps/unix/sysv/linux/errlist.c: Likewise.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/unix/sysv/linux/Makefile: Include <bits/initspin> in
$(sysdep_headers).
* sysdeps/unix/sysv/linux/bits/initspin.h: Dummy version for
non-threaded platforms.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* configure.in: Add definitions for hppa.
* elf/elf.h: Add PLABEL32 relocation for hppa ELF32, comments
for IPLT and EPLT relocations.
* shlib-versions: Version symbol definitions for hppa-linux.
* sysdeps/unix/sysv/linux/configure.in: Define $arch_minimum_kernel
for hppa.
2000-10-12 David Huggins-Daines <dhd@linuxcare.com>
* sysdeps/hppa/Makefile: New file.
* sysdeps/hppa/Versions: New file.
* sysdeps/hppa/setjmp.S: New file.
* sysdeps/hppa/__longjmp.S: New file.
* sysdeps/hppa/bits/setjmp.h: New file.
* sysdeps/hppa/frame.h: New file.
* sysdeps/hppa/add_n.s: Don't use %r19 (linkage table pointer).
* sysdeps/hppa/sub_n.s: Likewise.
* sysdeps/hppa/lshift.s: Likewise.
* sysdeps/hppa/rshift.s: Likewise.
* sysdeps/hppa/udiv_qrnnd.s: Likewise.
* sysdeps/hppa/hppa1.1/addmul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/submul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/mul_1.s: Likewise.
* sysdeps/hppa/hppa1.1/udiv_qrnnd.s: Likewise.
* sysdeps/hppa/dl-machine.h: New file.
* sysdeps/hppa/dl-fptr.c: New file (note that this is almost
identical to the IA-64 one).
* sysdeps/hppa/dl-lookupcfg.h: Likewise.
* sysdeps/hppa/dl-symaddr.c: Likewise.
* sysdeps/hppa/elf/initfini.c: New file.
* sysdeps/hppa/elf/start.S: New file.
* sysdeps/hppa/fpu/bits/fenv.h: New file.
* sysdeps/hppa/fpu/fclrexcpt.c: New file.
* sysdeps/hppa/fpu/fedisblxcpt.c: New file.
* sysdeps/hppa/fpu/feenablxcpt.c: New file.
* sysdeps/hppa/fpu/fegetenv.c: New file.
* sysdeps/hppa/fpu/fegetexcept.c: New file.
* sysdeps/hppa/fpu/fegetround.c: New file.
* sysdeps/hppa/fpu/feholdexcpt.c: New file.
* sysdeps/hppa/fpu/fesetenv.c: New file.
* sysdeps/hppa/fpu/fesetround.c: New file.
* sysdeps/hppa/fpu/feupdateenv.c: New file.
* sysdeps/hppa/fpu/fegetexcptflg.c: New file.
* sysdeps/hppa/fpu/fraiseexcpt.c: New file.
* sysdeps/hppa/fpu/fsetexcptflg.c: New file.
* sysdeps/hppa/fpu/ftestexcept.c: New file.
* sysdeps/unix/sysv/linux/hppa/Makefile: New file.
* sysdeps/unix/sysv/linux/hppa/Versions: New file.
* sysdeps/unix/sysv/linux/hppa/syscalls.list: New file.
* sysdeps/unix/sysv/linux/hppa/sysdep.c: New file.
* sysdeps/unix/sysv/linux/hppa/sysdep.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/ioctls.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/mman.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: New file.
* sysdeps/unix/sysv/linux/hppa/bits/signum.h: New file.
* sysdeps/unix/sysv/linux/hppa/brk.c: New file.
* sysdeps/unix/sysv/linux/hppa/clone.S: New file.
* sysdeps/unix/sysv/linux/hppa/socket.S: New file.
* sysdeps/unix/sysv/linux/hppa/syscall.S: New file.
* sysdeps/unix/sysv/linux/hppa/setrlimit.c: New file.
* sysdeps/unix/sysv/linux/hppa/getrlimit.c: New file.
* sysdeps/unix/sysv/linux/hppa/getrlimit64.c: New file.
* sysdeps/unix/sysv/linux/hppa/kernel_sigaction.h: New file.
* sysdeps/unix/sysv/linux/hppa/kernel_stat.h: New file.
* sysdeps/unix/sysv/linux/hppa/mmap.c: New file.
* sysdeps/unix/sysv/linux/hppa/profil-counter.h: New file.
* sysdeps/unix/sysv/linux/hppa/procfs.h: New file.
* sysdeps/unix/sysv/linux/hppa/ucontext.h: New file.
* sysdeps/unix/sysv/linux/hppa/umount.c: New file.
2000-10-12 Alan Modra <alan@linuxcare.com.au>
* sysdeps/hppa/hppa1.1/Implies: New file.
* sysdeps/hppa/memusage.h: New file.
* internals.h (strict __pthread_descr_struct): Add p_sem_avail.
* semaphore.c: Handle spurious wakeups.
* sysdeps/pthread/pthread.h: Add back PTHREAD_MUTX_FAST_NP as an alias
for PTHREAD_MUTEX_ADAPTIVE_NP for source code compatibility.
* pthread.c (__pthread_set_own_extricate): Use THREAD_GETMEM.
(__pthread_wait_for_restart): Likewise.
* condvar.c (pthread_cond_wait): Also check whether thread is
cancelable before aborting loop.
(pthread_cond_timedwait): Likewise.
2000-07-06 Ulrich Drepper <drepper@redhat.com>
* condvar.c: Implement pthread_condattr_getpshared and
pthread_condattr_setpshared.
* mutex.c: Implement pthread_mutexattr_getpshared and
pthread_mutexattr_setpshared.
* Versions: Export new functions.
* sysdeps/pthread/pthread.h: Add prototypes for new functions.
* rwlock.c (pthread_rwlockattr_init): Use PTHREAD_PROCESS_PRIVATE.
(pthread_rwlockattr_setpshared): Fail if PTHREAD_PROCESS_PRIVATE
is not selected.
pragmas. Include bp-sym.h only if _LIBC.
2000-07-04 Greg McGary <greg@mcgary.org>
* sysdeps/pthread/bits/libc-lock.h: Remove BP_SYM from
pragmas. Include bp-sym.h only if _LIBC.
* include/libc-symbols.h (weak_extern): Add extra level of expansion.
(symbol_version, default_symbol_version): Factor redundant
definitions out of conditional.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
Wrap BP_SYM () around weak extern declarations of pthread
functions that have pointers in their return+arg signatures.
2000-06-27 Greg McGary <greg@mcgary.org>
* elf/dl-open.c (_dl_sysdep_start): Wrap weak_extern decl in BP_SYM ().
* include/libc-symbols.h (weak_extern): Add extra level of expansion.
(symbol_version, default_symbol_version): Factor redundant
definitions out of conditional.
* linuxthreads/sysdeps/pthread/bits/libc-lock.h:
Wrap BP_SYM () around weak extern declarations of pthread
functions that have pointers in their return+arg signatures.
prototype.
* join.c: Include <stdlib.h> for exit prototype.
* elf/vismod2.c: Include <stdlib.h> for abort prototype.
* rt/aio_suspend.c: Likewise.
2000-06-21 Andreas Jaeger <aj@suse.de>
* sysdeps/pthread/timer_routines.c: Include <stdlib.h> for memset
prototype.
* join.c: Include <stdlib.h> for exit prototype.
* iconv/gconv_int.h (strict gconv_module): Remove all members
associated with regular expressions. Use a simple string as the
from name.
* iconv/gconv_db.c: Remove code handling regular expressions.
* iconv/gconv_conf.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* iconv/gconv_builtin.h: Adjust for change in gconv_conf.c.
2000-06-13 Kaz Kylheku <kaz@ashi.footprints.net>
A few optimizations. Got rid of unnecessary wakeups of timer threads,
tightened up some critical regions and micro-optimized some list
manipulation code.
* sysdeps/pthread/timer_routines.c (__timer_thread_queue_timer):
Returns int value now to indicate whether timer was queued at head.
* sysdeps/pthread/posix-timer.h: Likewise.
* sysdeps/pthread/timer_settime.c (timer_settime): Takes advantage of
new return value from __timer_thread_queue_timer to avoid waking
up timer thread unnecessarily.
* sysdeps/pthread/posix-timer.h (timer_id2ptr): No longer checks
inuse flag, because this requires mutex to be held. Callers updated
to do the check when they have the mutex.
* sysdeps/pthread/timer_getoverr.c: Add check for inuse here.
* sysdeps/pthread/timer_settime.c (timer_settime): Tighter critical
regions: avoids making system calls while holding timer mutex, and
a few computations were moved outside of the mutex as well.
* sysdeps/pthread/timer_gettime.c (timer_gettime): Likewise.
* sysdeps/pthread/posix-timer.h (list_unlink_ip): Function name changed
to list_unlink_ip, meaning idempotent. Pointer manipulation
changed to get better better code out of gcc.
* sysdeps/pthread/timer_routines.c (list_unlink): Non-idempotent
version of list_unlink added here.
* sysdeps/pthread/timer_delete.c: Use appropriate list unlink
function in all places: idempotent one for timers, non-idempotent
one for thread nodes.
* sysdeps/pthread/timer_settime: Likewise.
* sysdeps/pthread/timer_routines.c: Likewise.
2000-06-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/timer_routines.c (list_append): Little fix to
reall append the entry.
list and remove from active list.
2000-06-10 Kaz Kylheku <kaz@ashi.footprints.net>
* sysdeps/pthread/timer_create.c: Thread matching now done on
clock type as well as thread attributes.
There are individual global signal-delivering threads for
different clock types.
* sysdeps/pthread/posix-timer.h: Likewise.
* sysdeps/pthread/timer_routines.c: Likewise.
* sysdeps/pthread/timer_routines.c: Thread allocation and
deallocation function now remembers to put thread on active
list and remove from active list.
Thus now the feature of binding multiple timers
to a single thread actually works.
* sysdeps/pthread/posix-timer.h (struct timer_node): Add creator_pid.
* sysdeps/pthread/timer_create.c: Fill in creator_pid.
* sysdeps/pthread/timer_routines.c (thread_expire_timer): Send signal
with sigqueueinfo is this system call is available.
* sysdeps/pthread/timer_create.c (timer_create): Allow
CLOCK_CPUTIME if _POSIX_CPUTIME is defined.
2000-04-19 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-ctype.c (ctype_output): Set size of the idx
field to nelems * sizeof (uint32_t).
* locale/programs/ld-address.c (address_output): Align word fields
properly.
* locale/programs/ld-monetary.c (monetary_output): Likewise.
Don't restart idx pointers to idx end at the duo_int_curr_symbol
field.
Avoid giving arbitrary garbage in the crncystr field.
Use sizeof(uint32_t) instead of 4 for len in uno_valid_from,
uno_valid_to, duo_valid_from, duo_valid_to and conversion_rate
fields.
* locale/programs/ld-numeric.c (numeric_output): Likewise.
Don't restart idx pointers to idx end at the decimal_point_wc field.
* locale/programs/ld-time.c (time_output): week_1stday should be
word, not byte. Align it properly.
2000-04-19 H.J. Lu <hjl@gnu.org>
* csu/gmon-start.c (_start): Declared as "extern void".
(etext): Likewise.
2000-04-18 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Running make install): Don't mention utmpd
anymore.
2000-04-18 Andreas Jaeger <aj@suse.de>
* linuxthreads/Versions: Use ld instead of ld.so.
* elf/Makefile (ld-map): Use ld.map.
* Versions.def: Use ld instead of ld.so.
* elf/Versions: Likewise.
* sysdeps/mach/hurd/Versions: Likewise.
2000-04-13 Ulrich Drepper <drepper@redhat.com>
* posix/globtest.sh: Work around inconsistency with expanding ~/
in shell (PR libc/1690). Reported by patsmith@pobox.com.
* sysdeps/pthread/pthread.h: Add prototypes for pthread_spin_init,
pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
and pthread_spin_unlock.
* sysdeps/pthread/bits/pthreadtypes.h: Change struct _pthread_fastlock
into pthread_spinlock_t. Change all uses.
* spinlock.c: Implement pthread_spin_lock.
Rename __pthread_unlock to __pthread_spin_unlock and define weak
alias for real name.
Define pthread_spin_trylock, pthread_spin_init, and
pthread_spin_destroy.
Change all uses of _pthread_fastlock to pthread_spinlock_t.
* spinlock.h: Rename __pthread_unlock to __pthread_spin_unlock.
Change all uses of _pthread_fastlock to pthread_spinlock_t.
* Versions [libpthread] (GLIBC_2.2): Add pthread_spin_init,
pthread_spin_destroy, pthread_spin_lock, pthread_spin_trylock,
and pthread_spin_unlock.
* cancel.c: Use __pthread_spin_unlock instead of __pthread_unlock.
Change all uses of _pthread_fastlock to pthread_spinlock_t.
* condvar.c: Likewise.
* internals.h: Likewise.
* join.c: Likewise.
* manager.c: Likewise.
* mutex.c: Likewise.
* pthread.c: Likewise.
* rwlock.c: Likewise.
* semaphore.c: Likewise.
* signals.c: Likewise.