summary refs log tree commit diff
path: root/htl
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-11-11 10:35:10 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-11-11 20:41:25 +0000
commit9cec82de715b3ffc625a6c67d107a3fcb26af566 (patch)
treee66429ab410d9ef1510ac702a39ec439e956742f /htl
parentd482ebfa67850976485fdf061cd52427eb8a3cb7 (diff)
downloadglibc-9cec82de715b3ffc625a6c67d107a3fcb26af566.tar.gz
glibc-9cec82de715b3ffc625a6c67d107a3fcb26af566.tar.xz
glibc-9cec82de715b3ffc625a6c67d107a3fcb26af566.zip
htl: Initialize later
Since htl does not actually need a stack switch, we can initialize it
like nptl is, avoiding all sorts of startup issues with ifunc.

More precisely, htl defines __pthread_initialize_minimal instead of the
elder _cthread_init_routine. We can then drop the stack switching dances.
Diffstat (limited to 'htl')
-rw-r--r--htl/Versions4
-rw-r--r--htl/libpthread_syms.a2
2 files changed, 3 insertions, 3 deletions
diff --git a/htl/Versions b/htl/Versions
index 832cc5d814..4e23c2ed64 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -43,8 +43,6 @@ libpthread {
 
     __pthread_mutex_transfer_np;
 
-    _cthread_init_routine;
-
     cthread_detach;
     cthread_fork;
     cthread_keycreate;
@@ -168,6 +166,8 @@ libpthread {
   }
 
   GLIBC_PRIVATE {
+    __pthread_initialize_minimal;
+
     __shm_directory;
     __pthread_threads;
 
diff --git a/htl/libpthread_syms.a b/htl/libpthread_syms.a
index 3801ec93c8..48dadfbd5f 100644
--- a/htl/libpthread_syms.a
+++ b/htl/libpthread_syms.a
@@ -1,6 +1,6 @@
 /* pthread initializer is weak in glibc.  It must be included if glibc
    is to start threading. */
-EXTERN(_cthread_init_routine)
+EXTERN(__pthread_initialize_minimal)
 
 /* Weak references in glibc that must be filled if glibc is to be
    thread safe.  */