diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:50 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:50 +0200 |
commit | 4647ce82c733d1453611e35236b786ecd7faf598 (patch) | |
tree | 32c72ddfeca5dda088deccec73729f20bfe93b69 /sysdeps | |
parent | 5a3140b48978f0f690a5fee2f4a53705c02aabac (diff) | |
download | glibc-4647ce82c733d1453611e35236b786ecd7faf598.tar.gz glibc-4647ce82c733d1453611e35236b786ecd7faf598.tar.xz glibc-4647ce82c733d1453611e35236b786ecd7faf598.zip |
nptl: Move __pthread_cleanup_upto into libc
This internal symbol is used as part of the longjmp implementation. Rename the file from nptl/pt-cleanup.c to nptl/pthread_cleanup_upto.c so that the pt-* files remain restricted to libpthread. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/nptl/jmp-unwind.c | 8 | ||||
-rw-r--r-- | sysdeps/nptl/pthread-functions.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/jmp-unwind.c | 7 |
3 files changed, 4 insertions, 12 deletions
diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c index a79c792e82..96c4862c74 100644 --- a/sysdeps/nptl/jmp-unwind.c +++ b/sysdeps/nptl/jmp-unwind.c @@ -19,14 +19,10 @@ #include <setjmp.h> #include <stddef.h> #include <libc-lock.h> - -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); -#pragma weak __pthread_cleanup_upto - +#include <nptl/pthreadP.h> void _longjmp_unwind (jmp_buf env, int val) { - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, - CURRENT_STACK_FRAME), 0); + __pthread_cleanup_upto (env->__jmpbuf, CURRENT_STACK_FRAME); } diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 4268084b66..1bbe609598 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); int (*ptr___pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); - void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *); int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); diff --git a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c index 2bdde57ec7..8e0399a3e9 100644 --- a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c +++ b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c @@ -19,15 +19,12 @@ #include <setjmp.h> #include <stddef.h> #include <libc-lock.h> - -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); -#pragma weak __pthread_cleanup_upto - +#include <nptl/pthreadP.h> void _longjmp_unwind (jmp_buf env, int val) { char local_var; - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, &local_var), 0); + __pthread_cleanup_upto (env->__jmpbuf, &local_var); } |