diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2021-09-15 20:11:08 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2021-09-16 01:04:05 +0200 |
commit | 166bb3eac351b88191d440b0fe8d5d7b757eaed0 (patch) | |
tree | 2a0366c36387bcee5c4ae2704ccca394cd969f48 /sysdeps/mach/hurd/htl | |
parent | 4b6574a6f63b6c766f27be4a0b4c9376a35a4bd5 (diff) | |
download | glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.tar glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.tar.gz glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.tar.bz2 glibc-166bb3eac351b88191d440b0fe8d5d7b757eaed0.zip |
htl: Move thread table to ld.so
The next commit is going to introduce a new implementation of
THREAD_GSCOPE_WAIT which needs to access the list of threads.
Since it must be usable from the dynamic laoder, we have to move
the symbols for the list of threads into the loader.
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20210915171110.226187-2-bugaevc@gmail.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'sysdeps/mach/hurd/htl')
-rw-r--r-- | sysdeps/mach/hurd/htl/pt-sigstate-init.c | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/htl/pt-sysdep.c | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/htl/pt-sysdep.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/mach/hurd/htl/pt-sigstate-init.c b/sysdeps/mach/hurd/htl/pt-sigstate-init.c index 399068ca78..6f43ade653 100644 --- a/sysdeps/mach/hurd/htl/pt-sigstate-init.c +++ b/sysdeps/mach/hurd/htl/pt-sigstate-init.c @@ -37,7 +37,7 @@ __pthread_sigstate_init (struct __pthread *thread) struct hurd_sigstate *ss = _hurd_thread_sigstate (thread->kernel_thread); _hurd_sigstate_set_global_rcv (ss); } - else if (__pthread_num_threads >= 2) + else if (GL (dl_pthread_num_threads) >= 2) do_init_global = 1; return 0; diff --git a/sysdeps/mach/hurd/htl/pt-sysdep.c b/sysdeps/mach/hurd/htl/pt-sysdep.c index 03ff8079ba..2fd0a8d6e7 100644 --- a/sysdeps/mach/hurd/htl/pt-sysdep.c +++ b/sysdeps/mach/hurd/htl/pt-sysdep.c @@ -45,7 +45,7 @@ _init_routine (void *stack) int err; pthread_attr_t attr, *attrp = 0; - if (__pthread_threads != NULL) + if (GL (dl_pthread_threads) != NULL) /* Already initialized */ return; diff --git a/sysdeps/mach/hurd/htl/pt-sysdep.h b/sysdeps/mach/hurd/htl/pt-sysdep.h index acd4fce9c4..d90563af0c 100644 --- a/sysdeps/mach/hurd/htl/pt-sysdep.h +++ b/sysdeps/mach/hurd/htl/pt-sysdep.h @@ -37,7 +37,7 @@ extern __thread struct __pthread *___pthread_self; ({ \ struct __pthread *thread; \ \ - assert (__pthread_threads); \ + assert (GL (dl_pthread_threads)); \ thread = ___pthread_self; \ \ assert (thread); \ |