summary refs log tree commit diff
path: root/nptl/tst-cleanup4aux.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-21 19:49:50 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-21 19:49:50 +0200
commit1f2e5bfe48ae7a0a74896d7f3019d976c1647e56 (patch)
tree103c889d6d7a47e9e3be01325aaaa5d532ed75a6 /nptl/tst-cleanup4aux.c
parentf79f2065817e080f65f3c3a2fee966f5a97f1746 (diff)
downloadglibc-1f2e5bfe48ae7a0a74896d7f3019d976c1647e56.tar.gz
glibc-1f2e5bfe48ae7a0a74896d7f3019d976c1647e56.tar.xz
glibc-1f2e5bfe48ae7a0a74896d7f3019d976c1647e56.zip
nptl: Move legacy cancelation handling into libc as compat symbols
This affects _pthread_cleanup_pop, _pthread_cleanup_pop_restore,
_pthread_cleanup_push, _pthread_cleanup_push_defer.  The symbols
have been moved using scripts/move-symbol-to-libc.py.

No new symbol versions are added because the symbols are turned into
compatibility symbols at the same time.

__pthread_cleanup_pop and __pthread_cleanup_push are added as
GLIBC_PRIVATE symbols because they are also used internally, for
glibc's own cancellation handling.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl/tst-cleanup4aux.c')
-rw-r--r--nptl/tst-cleanup4aux.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/nptl/tst-cleanup4aux.c b/nptl/tst-cleanup4aux.c
index d20730ddf2..6c7356e763 100644
--- a/nptl/tst-cleanup4aux.c
+++ b/nptl/tst-cleanup4aux.c
@@ -17,6 +17,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -24,8 +25,12 @@
 extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
                                    void (*__routine) (void *),
                                    void *__arg);
+compat_symbol_reference (libpthread, _pthread_cleanup_push,
+                         _pthread_cleanup_push, GLIBC_2_0);
 extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
                                   int __execute);
+compat_symbol_reference (libpthread, _pthread_cleanup_pop,
+                         _pthread_cleanup_pop, GLIBC_2_0);
 
 extern void clh (void *arg);
 extern void fn0 (void);