summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-03 02:56:35 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-03 02:56:35 +0200
commitfe9748cca3fb247cea420a70b28e601abcb196aa (patch)
treec174b00a4fbbb9be2bc0c6e4c235ee7c6278a1a5
parent82dbf555a4d41690f63b94ccb4db4bf43d873aa0 (diff)
hurd: Avoid local PLT in libpthread
* htl/pt-exit.c: Include <pthreadP.h>. (__pthread_exit): Call ___pthread_get_cleanup_stack instead of __pthread_get_cleanup_stack.
-rw-r--r--ChangeLog6
-rw-r--r--htl/pt-exit.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b54ed73b5..8f4aa359ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -249,8 +249,10 @@
(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-exit.c: Include <pthreadP.h>.
+ (__pthread_exit): Call __pthread_setcancelstate and
+ ___pthread_get_cleanup_stack instead of pthread_setcancelstate and
+ __pthread_get_cleanup_stack.
* 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>
diff --git a/htl/pt-exit.c b/htl/pt-exit.c
index 0815dbcd98..cb62f474fa 100644
--- a/htl/pt-exit.c
+++ b/htl/pt-exit.c
@@ -22,6 +22,7 @@
#include <stdlib.h>
#include <pt-internal.h>
+#include <pthreadP.h>
#include <atomic.h>
@@ -40,7 +41,7 @@ __pthread_exit (void *status)
disabled. */
__pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate);
- for (handlers = __pthread_get_cleanup_stack ();
+ for (handlers = ___pthread_get_cleanup_stack ();
*handlers != NULL;
*handlers = (*handlers)->__next)
(*handlers)->__handler ((*handlers)->__arg);