diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-06-24 13:38:08 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2020-06-24 13:38:08 +0200 |
commit | 1fb7dc751edc462f6954b9c16dd126bf48a1df18 (patch) | |
tree | df7428429da634a874d6a6e97b19daf05e94c27b /sysdeps/htl | |
parent | 6f3331f26d2ee5d210ba768389828c391750f7a0 (diff) | |
download | glibc-1fb7dc751edc462f6954b9c16dd126bf48a1df18.tar glibc-1fb7dc751edc462f6954b9c16dd126bf48a1df18.tar.gz glibc-1fb7dc751edc462f6954b9c16dd126bf48a1df18.tar.bz2 glibc-1fb7dc751edc462f6954b9c16dd126bf48a1df18.zip |
htl: Add wrapper header for <semaphore.h> with hidden __sem_post
This is required to avoid a check-localplt failure due to a
sem_post call through the PLT.
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'sysdeps/htl')
-rw-r--r-- | sysdeps/htl/include/semaphore.h | 9 | ||||
-rw-r--r-- | sysdeps/htl/sem-post.c | 2 | ||||
-rw-r--r-- | 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); } |