Age | Commit message (Collapse) | Author | Files | Lines |
|
If libpthread gets loaded dynamically, the stack needs to already contain the
cleanup handlers of the main thread.
* htl/libc_pthread_init.c (__pthread_cleanup_stack): New per-thread variable.
* htl/Versions (libc): Add __pthread_cleanup_stack as private symbol.
* htl/pt-internal.h (struct __pthread): Remove cancelation_handlers
field.
(__pthread_cleanup_stack): Add variable declaration.
* htl/pt-alloc.c (initialize_pthread): Remove initialization of
cancelation_handlers field.
* htl/pt-cleanup.c (__pthread_get_cleanup_stack): Return the address of
__pthread_cleanup_stack instead of that of the cancelation_handlers
field.
* htl/forward.c: Include <pt-internal.h>.
(dummy_list): Remove variable.
(__pthread_get_cleanup_stack): Return the address of __pthread_cleanup_stack
instead of that of dummy_list.
|
|
* sysdeps/htl/pthreadP.h: Include <link.h>
(__pthread_init_static_tls): New prototype.
* htl/pt-alloc.c (__pthread_init_static_tls): New function.
* sysdeps/mach/hurd/htl/pt-sysdep.c (_init_routine): Initialize tcb
field of initial thread. Set GL(dl_init_static_tls) to
&__pthread_init_static_tls.
|
|
|
|
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
$(find $(git ls-files) -prune -type f \
! -name '*.po' \
! -name 'ChangeLog*' \
! -path COPYING ! -path COPYING.LIB \
! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
! -path manual/texinfo.tex ! -path scripts/config.guess \
! -path scripts/config.sub ! -path scripts/install-sh \
! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
! -path INSTALL ! -path locale/programs/charmap-kw.h \
! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
! '(' -name configure \
-execdir test -f configure.ac -o -f configure.in ';' ')' \
! '(' -name preconfigure \
-execdir test -f preconfigure.ac ';' ')' \
-print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
chmod a+x sysdeps/unix/sysv/linux/riscv/configure
# Omit irrelevant whitespace and comment-only changes,
# perhaps from a slightly-different Autoconf version.
git checkout -f \
sysdeps/csky/configure \
sysdeps/hppa/configure \
sysdeps/riscv/configure \
sysdeps/unix/sysv/linux/csky/configure
# Omit changes that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
git checkout -f \
sysdeps/powerpc/powerpc64/ppc-mcount.S \
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
# Omit change that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
|
|
* All files with FSF copyright notices: Update copyright dates
using scripts/update-copyrights.
* locale/programs/charmap-kw.h: Regenerated.
* locale/programs/locfile-kw.h: Likewise.
|
|
* htl/cthreads-compat.c (__cthread_detach): Call __pthread_detach
instead of pthread_detach.
(__cthread_fork): Call __pthread_create instead of pthread_create.
(__cthread_keycreate): Call __pthread_key_create instead of
pthread_key_create.
(__cthread_getspecific): Call __pthread_getspecific instead of
pthread_getspecific.
(__cthread_setspecific): Call __pthread_setspecific instead of
pthread_setspecific.
* htl/pt-alloc.c (__pthread_alloc): Call __pthread_mutex_lock and
__pthread_mutex_unlock instead of pthread_mutex_lock and
pthread_mutex_unlock.
* htl/pt-cleanup.c (__pthread_get_cleanup_stack): Rename to
___pthread_get_cleanup_stack.
(__pthread_get_cleanup_stack): New strong alias.
* htl/pt-create.c: Include <pthreadP.h>.
(entry_point): Call __pthread_exit instead of pthread_exit.
(pthread_create): Rename to __pthread_create.
(pthread_create): New strong alias.
* htl/pt-detach.c (pthread_detach): Rename to __pthread_detach.
(pthread_detach): New strong alias.
(__pthread_detach): Call __pthread_cond_broadcast instead of
pthread_cond_broadcast.
* htl/pt-exit.c (__pthread_exit): Call __pthread_setcancelstate
instead of pthread_setcancelstate.
* htl/pt-testcancel.c: Include <pthreadP.h>.
(pthread_testcancel): Call __pthread_exit instead of pthread_exit.
* sysdeps/htl/pt-attr-getstack.c: Include <pthreadP.h>
(__pthread_attr_getstack): Call __pthread_attr_getstackaddr and
__pthread_attr_getstacksize instead of pthread_attr_getstackaddr and
pthread_attr_getstacksize.
* sysdeps/htl/pt-attr-getstackaddr.c (pthread_attr_getstackaddr):
Rename to __pthread_attr_getstackaddr.
(pthread_attr_getstackaddr): New strong alias.
* sysdeps/htl/pt-attr-getstacksize.c (pthread_attr_getstacksize):
Rename to __pthread_attr_getstacksize.
(pthread_attr_getstacksize): New strong alias.
* sysdeps/htl/pt-attr-setstack.c: Include <pthreadP.h>.
(pthread_attr_setstack): Rename to __pthread_attr_setstack.
(pthread_attr_setstack): New strong alias.
(__pthread_attr_setstack): Call __pthread_attr_getstacksize,
__pthread_attr_setstacksize and __pthread_attr_setstackaddr instead of
pthread_attr_getstacksize, pthread_attr_setstacksize and
pthread_attr_setstackaddr.
* sysdeps/htl/pt-attr-setstackaddr.c (pthread_attr_setstackaddr):
Rename to __pthread_attr_setstackaddr.
(pthread_attr_setstackaddr): New strong alias.
* sysdeps/htl/pt-attr-setstacksize.c (pthread_attr_setstacksize):
Rename to __pthread_attr_setstacksize.
(pthread_attr_setstacksize): New strong alias.
* sysdeps/htl/pt-cond-timedwait.c: Include <pthreadP.h>.
(__pthread_cond_timedwait_internal): Use __pthread_exit instead of
pthread_exit.
* sysdeps/htl/pt-key-create.c: Include <pthreadP.h>.
(__pthread_key_create): New hidden def.
* sysdeps/htl/pt-key.h: Include <pthreadP.h>.
* sysdeps/htl/pthreadP.h (_pthread_mutex_init,
__pthread_cond_broadcast, __pthread_create, __pthread_detach,
__pthread_exit, __pthread_key_create, __pthread_getspecific,
__pthread_setspecific, __pthread_setcancelstate,
__pthread_attr_getstackaddr, __pthread_attr_setstackaddr,
__pthread_attr_getstacksize, __pthread_attr_setstacksize,
__pthread_attr_setstack, ___pthread_get_cleanup_stack): New
declarations.
(__pthread_key_create, _pthread_mutex_init): New hidden declarations.
* sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c
(pthread_attr_setstackaddr): Rename to __pthread_attr_setstackaddr.
(pthread_attr_setstackaddr): New strong alias.
* sysdeps/mach/hurd/htl/pt-attr-setstacksize.c
(pthread_attr_setstacksize): Rename to __pthread_attr_setstacksize.
(pthread_attr_setstacksize): New strong alias.
* sysdeps/mach/hurd/htl/pt-docancel.c: Include <pthreadP.h>.
(call_exit): Call __pthread_exit instead of pthread_exit.
* sysdeps/mach/hurd/htl/pt-mutex-init.c: Include <pthreadP.h>.
(_pthread_mutex_init): New hidden definition.
* sysdeps/mach/hurd/htl/pt-sysdep.c: Include <pthreadP.h>.
(_init_routine): Call __pthread_attr_init and __pthread_attr_setstack
instead of pthread_attr_init and pthread_attr_setstack.
|
|
* htl/Makefile: Bump licence to LGPL 2.1+.
* htl/alloca_cutoff.c: Likewise.
* htl/cthreads-compat.c: Likewise.
* htl/lockfile.c: Likewise.
* htl/pt-alloc.c: Likewise.
* htl/pt-cancel.c: Likewise.
* htl/pt-cleanup.c: Likewise.
* htl/pt-create.c: Likewise.
* htl/pt-dealloc.c: Likewise.
* htl/pt-detach.c: Likewise.
* htl/pt-exit.c: Likewise.
* htl/pt-getattr.c: Likewise.
* htl/pt-initialize.c: Likewise.
* htl/pt-internal.h: Likewise.
* htl/pt-join.c: Likewise.
* htl/pt-self.c: Likewise.
* htl/pt-setcancelstate.c: Likewise.
* htl/pt-setcanceltype.c: Likewise.
* htl/pt-sigmask.c: Likewise.
* htl/pt-spin-inlines.c: Likewise.
* htl/pt-testcancel.c: Likewise.
* htl/pt-yield.c: Likewise.
* htl/tests/test-1.c: Likewise.
* htl/tests/test-10.c: Likewise.
* htl/tests/test-11.c: Likewise.
* htl/tests/test-12.c: Likewise.
* htl/tests/test-13.c: Likewise.
* htl/tests/test-14.c: Likewise.
* htl/tests/test-15.c: Likewise.
* htl/tests/test-16.c: Likewise.
* htl/tests/test-17.c: Likewise.
* htl/tests/test-2.c: Likewise.
* htl/tests/test-3.c: Likewise.
* htl/tests/test-4.c: Likewise.
* htl/tests/test-5.c: Likewise.
* htl/tests/test-6.c: Likewise.
* htl/tests/test-7.c: Likewise.
* htl/tests/test-8.c: Likewise.
* htl/tests/test-9.c: Likewise.
* htl/tests/test-__pthread_destroy_specific-skip.c: Likewise.
* sysdeps/htl/bits/cancelation.h: Likewise.
* sysdeps/htl/bits/pthread-np.h: Likewise.
* sysdeps/htl/bits/pthread.h: Likewise.
* sysdeps/htl/bits/pthreadtypes.h: Likewise.
* sysdeps/htl/bits/semaphore.h: Likewise.
* sysdeps/htl/bits/types/__pthread_key.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_attr.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_barrier.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_barrierattr.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_cond.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_condattr.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_mutex.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_mutexattr.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_once.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_rwlock.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_rwlockattr.h: Likewise.
* sysdeps/htl/old_pt-atfork.c: Likewise.
* sysdeps/htl/pt-atfork.c: Likewise.
* sysdeps/htl/pt-attr-destroy.c: Likewise.
* sysdeps/htl/pt-attr-getdetachstate.c: Likewise.
* sysdeps/htl/pt-attr-getguardsize.c: Likewise.
* sysdeps/htl/pt-attr-getinheritsched.c: Likewise.
* sysdeps/htl/pt-attr-getschedparam.c: Likewise.
* sysdeps/htl/pt-attr-getschedpolicy.c: Likewise.
* sysdeps/htl/pt-attr-getscope.c: Likewise.
* sysdeps/htl/pt-attr-getstack.c: Likewise.
* sysdeps/htl/pt-attr-getstackaddr.c: Likewise.
* sysdeps/htl/pt-attr-getstacksize.c: Likewise.
* sysdeps/htl/pt-attr-init.c: Likewise.
* sysdeps/htl/pt-attr-setdetachstate.c: Likewise.
* sysdeps/htl/pt-attr-setguardsize.c: Likewise.
* sysdeps/htl/pt-attr-setinheritsched.c: Likewise.
* sysdeps/htl/pt-attr-setschedparam.c: Likewise.
* sysdeps/htl/pt-attr-setschedpolicy.c: Likewise.
* sysdeps/htl/pt-attr-setscope.c: Likewise.
* sysdeps/htl/pt-attr-setstack.c: Likewise.
* sysdeps/htl/pt-attr-setstackaddr.c: Likewise.
* sysdeps/htl/pt-attr-setstacksize.c: Likewise.
* sysdeps/htl/pt-attr.c: Likewise.
* sysdeps/htl/pt-barrier-destroy.c: Likewise.
* sysdeps/htl/pt-barrier-init.c: Likewise.
* sysdeps/htl/pt-barrier-wait.c: Likewise.
* sysdeps/htl/pt-barrier.c: Likewise.
* sysdeps/htl/pt-barrierattr-destroy.c: Likewise.
* sysdeps/htl/pt-barrierattr-getpshared.c: Likewise.
* sysdeps/htl/pt-barrierattr-init.c: Likewise.
* sysdeps/htl/pt-barrierattr-setpshared.c: Likewise.
* sysdeps/htl/pt-cond-brdcast.c: Likewise.
* sysdeps/htl/pt-cond-destroy.c: Likewise.
* sysdeps/htl/pt-cond-init.c: Likewise.
* sysdeps/htl/pt-cond-signal.c: Likewise.
* sysdeps/htl/pt-cond-timedwait.c: Likewise.
* sysdeps/htl/pt-cond-wait.c: Likewise.
* sysdeps/htl/pt-cond.c: Likewise.
* sysdeps/htl/pt-condattr-destroy.c: Likewise.
* sysdeps/htl/pt-condattr-getclock.c: Likewise.
* sysdeps/htl/pt-condattr-getpshared.c: Likewise.
* sysdeps/htl/pt-condattr-init.c: Likewise.
* sysdeps/htl/pt-condattr-setclock.c: Likewise.
* sysdeps/htl/pt-condattr-setpshared.c: Likewise.
* sysdeps/htl/pt-destroy-specific.c: Likewise.
* sysdeps/htl/pt-equal.c: Likewise.
* sysdeps/htl/pt-getconcurrency.c: Likewise.
* sysdeps/htl/pt-getcpuclockid.c: Likewise.
* sysdeps/htl/pt-getschedparam.c: Likewise.
* sysdeps/htl/pt-getspecific.c: Likewise.
* sysdeps/htl/pt-init-specific.c: Likewise.
* sysdeps/htl/pt-key-create.c: Likewise.
* sysdeps/htl/pt-key-delete.c: Likewise.
* sysdeps/htl/pt-key.h: Likewise.
* sysdeps/htl/pt-mutex-destroy.c: Likewise.
* sysdeps/htl/pt-mutex-getprioceiling.c: Likewise.
* sysdeps/htl/pt-mutex-init.c: Likewise.
* sysdeps/htl/pt-mutex-lock.c: Likewise.
* sysdeps/htl/pt-mutex-setprioceiling.c: Likewise.
* sysdeps/htl/pt-mutex-timedlock.c: Likewise.
* sysdeps/htl/pt-mutex-trylock.c: Likewise.
* sysdeps/htl/pt-mutex-unlock.c: Likewise.
* sysdeps/htl/pt-mutexattr-destroy.c: Likewise.
* sysdeps/htl/pt-mutexattr-getprioceiling.c: Likewise.
* sysdeps/htl/pt-mutexattr-getprotocol.c: Likewise.
* sysdeps/htl/pt-mutexattr-getpshared.c: Likewise.
* sysdeps/htl/pt-mutexattr-gettype.c: Likewise.
* sysdeps/htl/pt-mutexattr-init.c: Likewise.
* sysdeps/htl/pt-mutexattr-setprioceiling.c: Likewise.
* sysdeps/htl/pt-mutexattr-setprotocol.c: Likewise.
* sysdeps/htl/pt-mutexattr-setpshared.c: Likewise.
* sysdeps/htl/pt-mutexattr-settype.c: Likewise.
* sysdeps/htl/pt-mutexattr.c: Likewise.
* sysdeps/htl/pt-once.c: Likewise.
* sysdeps/htl/pt-rwlock-attr.c: Likewise.
* sysdeps/htl/pt-rwlock-destroy.c: Likewise.
* sysdeps/htl/pt-rwlock-init.c: Likewise.
* sysdeps/htl/pt-rwlock-rdlock.c: Likewise.
* sysdeps/htl/pt-rwlock-timedrdlock.c: Likewise.
* sysdeps/htl/pt-rwlock-timedwrlock.c: Likewise.
* sysdeps/htl/pt-rwlock-tryrdlock.c: Likewise.
* sysdeps/htl/pt-rwlock-trywrlock.c: Likewise.
* sysdeps/htl/pt-rwlock-unlock.c: Likewise.
* sysdeps/htl/pt-rwlock-wrlock.c: Likewise.
* sysdeps/htl/pt-rwlockattr-destroy.c: Likewise.
* sysdeps/htl/pt-rwlockattr-getpshared.c: Likewise.
* sysdeps/htl/pt-rwlockattr-init.c: Likewise.
* sysdeps/htl/pt-rwlockattr-setpshared.c: Likewise.
* sysdeps/htl/pt-setconcurrency.c: Likewise.
* sysdeps/htl/pt-setschedparam.c: Likewise.
* sysdeps/htl/pt-setschedprio.c: Likewise.
* sysdeps/htl/pt-setspecific.c: Likewise.
* sysdeps/htl/pt-spin.c: Likewise.
* sysdeps/htl/pt-startup.c: Likewise.
* sysdeps/htl/pthread.h: Likewise.
* sysdeps/htl/sem-close.c: Likewise.
* sysdeps/htl/sem-destroy.c: Likewise.
* sysdeps/htl/sem-getvalue.c: Likewise.
* sysdeps/htl/sem-init.c: Likewise.
* sysdeps/htl/sem-open.c: Likewise.
* sysdeps/htl/sem-post.c: Likewise.
* sysdeps/htl/sem-timedwait.c: Likewise.
* sysdeps/htl/sem-trywait.c: Likewise.
* sysdeps/htl/sem-unlink.c: Likewise.
* sysdeps/htl/sem-wait.c: Likewise.
* sysdeps/hurd/htl/pt-kill.c: Likewise.
* sysdeps/i386/htl/pt-machdep.h: Likewise.
* sysdeps/mach/htl/pt-block.c: Likewise.
* sysdeps/mach/htl/pt-spin.c: Likewise.
* sysdeps/mach/htl/pt-stack-alloc.c: Likewise.
* sysdeps/mach/htl/pt-thread-alloc.c: Likewise.
* sysdeps/mach/htl/pt-thread-start.c: Likewise.
* sysdeps/mach/htl/pt-thread-terminate.c: Likewise.
* sysdeps/mach/htl/pt-timedblock.c: Likewise.
* sysdeps/mach/htl/pt-wakeup.c: Likewise.
* sysdeps/mach/hurd/htl/bits/pthread-np.h: Likewise.
* sysdeps/mach/hurd/htl/bits/types/struct___pthread_mutex.h: Likewise.
* sysdeps/mach/hurd/htl/pt-attr-setstackaddr.c: Likewise.
* sysdeps/mach/hurd/htl/pt-attr-setstacksize.c: Likewise.
* sysdeps/mach/hurd/htl/pt-docancel.c: Likewise.
* sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c: Likewise.
* sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-consistent.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-destroy.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-getprioceiling.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-init.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-lock.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-setprioceiling.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-timedlock.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-trylock.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex-unlock.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutex.h: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-destroy.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-getprioceiling.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-getprotocol.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-getpshared.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-getrobust.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-init.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-setprioceiling.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-setpshared.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-setrobust.c: Likewise.
* sysdeps/mach/hurd/htl/pt-mutexattr-settype.c: Likewise.
* sysdeps/mach/hurd/htl/pt-sigstate-destroy.c: Likewise.
* sysdeps/mach/hurd/htl/pt-sigstate-init.c: Likewise.
* sysdeps/mach/hurd/htl/pt-sigstate.c: Likewise.
* sysdeps/mach/hurd/htl/pt-sysdep.c: Likewise.
* sysdeps/mach/hurd/htl/pt-sysdep.h: Likewise.
* sysdeps/mach/hurd/i386/htl/pt-machdep.c: Likewise.
* sysdeps/mach/hurd/i386/htl/pt-setup.c: Likewise.
|
|
Contributed by
Agustina Arzille <avarzille@riseup.net>
Amos Jeffries <squid3@treenet.co.nz>
David Michael <fedora.dm0@gmail.com>
Marco Gerards <marco@gnu.org>
Marcus Brinkmann <marcus@gnu.org>
Neal H. Walfield <neal@gnu.org>
Pino Toscano <toscano.pino@tiscali.it>
Richard Braun <rbraun@sceen.net>
Roland McGrath <roland@gnu.org>
Samuel Thibault <samuel.thibault@ens-lyon.org>
Thomas DiModica <ricinwich@yahoo.com>
Thomas Schwinge <tschwinge@gnu.org>
* htl: New directory.
* sysdeps/htl: New directory.
* sysdeps/hurd/htl: New directory.
* sysdeps/i386/htl: New directory.
* sysdeps/mach/htl: New directory.
* sysdeps/mach/hurd/htl: New directory.
* sysdeps/mach/hurd/i386/htl: New directory.
* nscd/Depend, resolv/Depend, rt/Depend: Add htl dependency.
* sysdeps/mach/hurd/i386/Implies: Add mach/hurd/i386/htl imply.
* sysdeps/mach/hurd/i386/libpthread.abilist: New file.
|