summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-03-19 03:51:18 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-03-19 03:51:18 +0100
commit9b2a7e6d85b95a0b2b776e36c2dd52db4ccef045 (patch)
treefbf0daf8cc9f8ac9564f503161274691b044d929 /sysdeps
parent09ba6794c68c123caa9706245882d87febed0aff (diff)
parent76ae117cd745eb783d2f680e136c19628fa1187e (diff)
Merge branch 'master-glibc-2.21' into master-glibc-2.23
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/pt-key-create.c3
-rw-r--r--sysdeps/generic/raise.c2
-rw-r--r--sysdeps/generic/shm-directory.h31
-rw-r--r--sysdeps/hurd/pt-key-create.c1
-rw-r--r--sysdeps/mach/hurd/pt-sigstate.c39
5 files changed, 56 insertions, 20 deletions
diff --git a/sysdeps/generic/pt-key-create.c b/sysdeps/generic/pt-key-create.c
index de05095..33f691b 100644
--- a/sysdeps/generic/pt-key-create.c
+++ b/sysdeps/generic/pt-key-create.c
@@ -21,9 +21,10 @@
#include <pt-internal.h>
int
-pthread_key_create (pthread_key_t *key, void (*destructor) (void *))
+__pthread_key_create (pthread_key_t *key, void (*destructor) (void *))
{
return ENOSYS;
}
+strong_alias (__pthread_key_create, pthread_key_create)
stub_warning (pthread_key_create)
diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c
index 3c497da..f086665 100644
--- a/sysdeps/generic/raise.c
+++ b/sysdeps/generic/raise.c
@@ -46,3 +46,5 @@ raise (int signo)
return __kill (__getpid (), signo);
}
+libc_hidden_def (raise)
+weak_alias (raise, gsignal)
diff --git a/sysdeps/generic/shm-directory.h b/sysdeps/generic/shm-directory.h
new file mode 100644
index 0000000..8950284
--- /dev/null
+++ b/sysdeps/generic/shm-directory.h
@@ -0,0 +1,31 @@
+/* Header for directory for shm/sem files. libpthread version.
+ Copyright (C) 2014-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SHM_DIRECTORY_H
+
+#include <sysdeps/posix/shm-directory.h>
+
+/* For libpthread the __shm_directory function lives in libpthread.
+ We don't want PLT calls from there. But it's also used from
+ librt, so it cannot just be declared hidden. */
+
+#if IS_IN (libpthread)
+hidden_proto (__shm_directory)
+#endif
+
+#endif /* shm-directory.h */
diff --git a/sysdeps/hurd/pt-key-create.c b/sysdeps/hurd/pt-key-create.c
index 42c7c85..f26ec36 100644
--- a/sysdeps/hurd/pt-key-create.c
+++ b/sysdeps/hurd/pt-key-create.c
@@ -108,4 +108,3 @@ __pthread_key_create (pthread_key_t *key, void (*destructor) (void *))
return 0;
}
strong_alias (__pthread_key_create, pthread_key_create)
-hidden_def (__pthread_key_create)
diff --git a/sysdeps/mach/hurd/pt-sigstate.c b/sysdeps/mach/hurd/pt-sigstate.c
index 2af3e39..74fd72a 100644
--- a/sysdeps/mach/hurd/pt-sigstate.c
+++ b/sysdeps/mach/hurd/pt-sigstate.c
@@ -43,24 +43,27 @@ __pthread_sigstate (struct __pthread *thread, int how,
*oset = ss->blocked;
if (set)
- switch (how)
- {
- case SIG_BLOCK:
- ss->blocked |= *set;
- break;
-
- case SIG_SETMASK:
- ss->blocked = *set;
- break;
-
- case SIG_UNBLOCK:
- ss->blocked &= ~*set;
- break;
-
- default:
- err = EINVAL;
- break;
- }
+ {
+ switch (how)
+ {
+ case SIG_BLOCK:
+ ss->blocked |= *set;
+ break;
+
+ case SIG_SETMASK:
+ ss->blocked = *set;
+ break;
+
+ case SIG_UNBLOCK:
+ ss->blocked &= ~*set;
+ break;
+
+ default:
+ err = EINVAL;
+ break;
+ }
+ ss->blocked &= ~_SIG_CANT_MASK;
+ }
if (! err && clear_pending)
__sigemptyset (&ss->pending);