This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
libc-alpha, Adding pthreads support to hppa. Modified patch: removed files related to IPC on hppa, and updated for PowerPC 32/64 pt-machine.h split to match latest 2.2.94 changes. Cheers, c. --- 2002-09-24 Carlos O'Donell <carlos@baldric.uwo.ca> * linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h: (try_lock): New. (lock_held): New. 2002-09-10 Carlos O'Donell <carlos@baldric.uwo.ca> * linuxthreads/descr.h: In "struct pthread_atomic" change "int p_spinlock" to "__atomic_lock_t p_spinlock" 2001-11-14 Matthew Wilcox <willy@debian.org> * linuxthreads/oldsemaphore.c: (__old_sem_init): Change "__LT_SPINLOCK_INIT" to "__ATOMIC_LOCK_INIT". * linuxthreads/pt-machine.c: Define extern for "try_lock" function call. * linuxthreads/spinlock.c: Change "int * spinlock" to "__atomic_lock_t * spinlock", "__LT_SPINLOCK_INIT" to "__ATOMIC_LOCK_INIT", and "0" to "__ATOMIC_LOCK_INIT", where required. In "struct wait_node" change "int abandoned" to "__atomic_lock_t abandoned" (__pthread_release): Function call argument changed from "int * spinlock" to "__atomic_lock_t * spinlock", and "__LT_SPINLOCK_INIT" changed to "__ATOMIC_LOCK_INIT". (__pthread_alt_timedlock): "0" to "__ATOMIC_LOCK_INIT" and change calls from "testandset" to "try_lock"; (__pthread_alt_unlock): "0" to "__ATOMIC_LOCK_INIT", and "p_node->abandoned" to "lock_held(&p_node->abandoned)", and changed calls from "testandset" to "try_lock" where required. (__pthread_compare_and_swap): Function call argument changed from "int * spinlock" to "__atomic_lock_t * spinlock". (__pthread_acquire): Function call argument changed from "int * spinlock" to "__atomic_lock_t * spinlock", and changed calls from "testandset" to "try_lock" where required. * linuxthreads/spinlock.h: Remove testandset macro. (__pthread_compare_and_swap): Extern changed to match function. (compare_and_swap): Likewise. (compare_and_swap_with_release_semantics): Function arg. type change. (compare_and_swap): Function arg. type change. (__pthread_compare_and_swap): Extern changed to match function. (__pthread_init_lock): "__LT_SPINLOCK_INIT" changed to "__ATOMIC_LOCK_INIT". (__pthread_alt_trylock): "__LT_SPINLOCK_INIT" to "__ATOMIC_LOCK_INIT" and change calls from "testandset" to "try_lock". * linuxthreads/sysdeps/alpha/pt-machine.h: (testandset): Deleted (renamed to try_lock). (try_lock): New. (lock_held): New. * linuxthreads/sysdeps/arm/pt-machine.h: Likewise. * linuxthreads/sysdeps/cris/pt-machine.h: Likewise. * linuxthreads/sysdeps/i386/i686/pt-machine.h: Likewise. * linuxthreads/sysdeps/i386/pt-machine.h: Likewise. * linuxthreads/sysdeps/ia64/pt-machine.h: Likewise. * linuxthreads/sysdeps/m68k/pt-machine.h: Likewise. * linuxthreads/sysdeps/mips/pt-machine.h: Likewise. * linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h: Likewise. * linuxthreads/sysdeps/s390/s390-32/pt-machine.h: Likewise. * linuxthreads/sysdeps/s390/s390-64/pt-machine.h: Likewise. * linuxthreads/sysdeps/sh/pt-machine.h: Likewise. * linuxthreads/sysdeps/sparc/sparc32/pt-machine.h: Likewise. * linuxthreads/sysdeps/sparc/sparc64/pt-machine.h: Likewise. * linuxthreads/sysdeps/pthread/bits/pthreadtypes.h: typedef __atomic_lock_t to int for all other arches leaving them the same as before. (_pthread_fastlock): Change "int" to "__atomic_lock_t". * linuxthreads/sysdeps/pthread/bits/libc-lock.h: Include the use of PTHREAD_MUTEX_INITIALIZER for the case of __LOCK_INITIALISER_NOT_ZERO. * linuxthreads/sysdeps/pthread/bits/initspin.h: Define __ATOMIC_LOCK_INIT as 0 for all arches. Include changes to associated macros. * linuxthreads/sysdeps/hppa/pspinlock.c : (__ldcw): New. (__pthread_spin_lock): Cleanup. (__pthread_spin_trylock): Cleanup. * linuxthreads/sysdeps/hppa/pt-machine.h: (__get_cr27): New. (__set_cr27): New. (testandset): Deleted (renamed to try_lock). (try_lock): New. (lock_held): New. * linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/initspin.h: Remove "__LT_SPINLOCK_INIT" and define "__ATOMIC_LOCK_INIT" to "((__atomic_lock_t) { 1 })" while changing the associated macros that relied on this. * linuxthreads/sysdeps/unix/sysv/linux/hppa/bits/pthreadtypes.h: New file. * sysdeps/hppa/dl-fptr.c: Change the use of "1" to "__ATOMIC_LOCK_INIT". (__hppa_make_fptr): Call 'try_lock' instead of 'testandset', and change the use of "1" to "__ATOMIC_LOCK_INIT". (_dl_unmap): Likewise. (_dl_lookup_address): Likewise. * sysdeps/ia64/dl-fptr.c: In "static struct local" change "int lock" to "__atomic_lock_t lock" (lock): Change calls from "testandset" to "try_lock", and change "0" to "__ATOMIC_LOCK_INIT" where needed.
Attachment:
00-glibc23-hppa-pthreads
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |