[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] htl: Add wrapper header for <semaphore.h> with hidden __sem_post
From: |
Florian Weimer |
Subject: |
[PATCH] htl: Add wrapper header for <semaphore.h> with hidden __sem_post |
Date: |
Wed, 24 Jun 2020 13:21:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
This is required to avoid a check-localplt failure due to a
sem_post call through the PLT.
---
sysdeps/htl/include/semaphore.h | 9 +++++++++
sysdeps/htl/sem-post.c | 2 +-
sysdeps/htl/sem-timedwait.c | 2 +-
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/sysdeps/htl/include/semaphore.h b/sysdeps/htl/include/semaphore.h
new file mode 100644
index 0000000000..58fa2bf341
--- /dev/null
+++ b/sysdeps/htl/include/semaphore.h
@@ -0,0 +1,9 @@
+#ifndef _SEMAPHORE_H
+#include_next <semaphore.h>
+
+#ifndef _ISOMAC
+extern __typeof (sem_post) __sem_post;
+libpthread_hidden_proto (__sem_post)
+#endif
+
+#endif
diff --git a/sysdeps/htl/sem-post.c b/sysdeps/htl/sem-post.c
index fd0c6338c6..720b73a059 100644
--- a/sysdeps/htl/sem-post.c
+++ b/sysdeps/htl/sem-post.c
@@ -64,5 +64,5 @@ __sem_post (sem_t *sem)
return 0;
}
-
+libpthread_hidden_def (__sem_post)
strong_alias (__sem_post, sem_post);
diff --git a/sysdeps/htl/sem-timedwait.c b/sysdeps/htl/sem-timedwait.c
index fffdf36467..5095d49b28 100644
--- a/sysdeps/htl/sem-timedwait.c
+++ b/sysdeps/htl/sem-timedwait.c
@@ -167,7 +167,7 @@ out_locked:
{
if (ret == 0 && ctx.cancel_wake == 0)
/* We were cancelled while waking up with a token, put it back. */
- sem_post (sem);
+ __sem_post (sem);
__pthread_exit (PTHREAD_CANCELED);
}
- [PATCH] htl: Add wrapper header for <semaphore.h> with hidden __sem_post,
Florian Weimer <=