about summary refs log tree commit diff
path: root/htl/libpthread_syms.a
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-06-10 20:03:52 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-06-10 21:34:19 +0000
commitbc9cf8fbe8eafe375719ad869ab81609cfc3529c (patch)
tree9734a4e576acea9e3e5f5ba17d88f3156fc6357d /htl/libpthread_syms.a
parent533dd2acf7eefa969fb770fa782b20519bd4bc0f (diff)
downloadglibc-bc9cf8fbe8eafe375719ad869ab81609cfc3529c.tar.gz
glibc-bc9cf8fbe8eafe375719ad869ab81609cfc3529c.tar.xz
glibc-bc9cf8fbe8eafe375719ad869ab81609cfc3529c.zip
htl: Fix linking static tests by factorizing the symbols list
libpthread_syms.a will contain the symbols that libc tries to get from
libpthread, to be used by the system, but also by tests.

* htl/libpthread.a, htl/libpthread_pic.a: Link libpthread_syms.a and Move EXTERN
references to...
* htl/libpthread_syms.a: ... new file. Add missing
__pthread_enable_asynccancel reference.
* htl/Makefile: Install libpthread_syms.a and link it into static tests.
Diffstat (limited to 'htl/libpthread_syms.a')
-rw-r--r--htl/libpthread_syms.a21
1 files changed, 21 insertions, 0 deletions
diff --git a/htl/libpthread_syms.a b/htl/libpthread_syms.a
new file mode 100644
index 0000000000..3801ec93c8
--- /dev/null
+++ b/htl/libpthread_syms.a
@@ -0,0 +1,21 @@
+/* pthread initializer is weak in glibc.  It must be included if glibc
+   is to start threading. */
+EXTERN(_cthread_init_routine)
+
+/* Weak references in glibc that must be filled if glibc is to be
+   thread safe.  */
+EXTERN(cthread_detach)
+EXTERN(cthread_fork)
+EXTERN(cthread_keycreate)
+EXTERN(cthread_getspecific)
+EXTERN(cthread_setspecific)
+EXTERN(__mutex_lock_solid)
+EXTERN(__mutex_unlock_solid)
+/* For libio stream locking.  */
+EXTERN(_cthreads_flockfile)
+EXTERN(_cthreads_funlockfile)
+EXTERN(_cthreads_ftrylockfile)
+/* To get the sigthread stack layout on fork */
+EXTERN(pthread_getattr_np)
+EXTERN(pthread_attr_getstack)
+EXTERN(__pthread_enable_asynccancel)