mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
nptl: Move __pthread_unwind_next into libc
It's necessary to stub out __libc_disable_asynccancel and __libc_enable_asynccancel via rtld-stubbed-symbols because the new direct references to the unwinder result in symbol conflicts when the rtld exception handling from libc is linked in during the construction of librtld.map. unwind-forcedunwind.c is merged into unwind-resume.c. libc now needs the functions that were previously only used in libpthread. The GLIBC_PRIVATE exports of __libc_longjmp and __libc_siglongjmp are no longer needed, so switch them to hidden symbols. The symbol __pthread_unwind_next has been moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerva Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
@ -271,19 +271,21 @@ extern void __pthread_unwind (__pthread_unwind_buf_t *__buf)
|
||||
weak_function
|
||||
#endif
|
||||
;
|
||||
libc_hidden_proto (__pthread_unwind)
|
||||
extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
|
||||
__cleanup_fct_attribute __attribute ((__noreturn__))
|
||||
#ifndef SHARED
|
||||
weak_function
|
||||
#endif
|
||||
;
|
||||
/* NB: No hidden proto for __pthread_unwind_next: inside glibc, the
|
||||
legacy unwinding mechanism is used. */
|
||||
|
||||
#if IS_IN (libpthread)
|
||||
extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
|
||||
__cleanup_fct_attribute;
|
||||
extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
|
||||
__cleanup_fct_attribute;
|
||||
#if IS_IN (libpthread)
|
||||
hidden_proto (__pthread_unwind)
|
||||
hidden_proto (__pthread_unwind_next)
|
||||
hidden_proto (__pthread_register_cancel)
|
||||
hidden_proto (__pthread_unregister_cancel)
|
||||
# ifdef SHARED
|
||||
|
Reference in New Issue
Block a user