mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
nptl: Move legacy unwinding implementation into libc
It is still used internally. Since unwinding is now available unconditionally, avoid indirect calls through function pointers loaded from the stack by inlining the non-cancellation cleanup code. This avoids a regression in security hardening. The out-of-line __libc_cleanup_routine implementation is no longer needed because the inline definition is now static __always_inline. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
This commit is contained in:
@ -95,8 +95,6 @@ static const struct pthread_functions pthread_functions =
|
||||
.ptr___pthread_key_create = __pthread_key_create,
|
||||
.ptr___pthread_getspecific = __pthread_getspecific,
|
||||
.ptr___pthread_setspecific = __pthread_setspecific,
|
||||
.ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer,
|
||||
.ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore,
|
||||
.ptr_nthreads = &__nptl_nthreads,
|
||||
.ptr___pthread_unwind = &__pthread_unwind,
|
||||
.ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd,
|
||||
|
Reference in New Issue
Block a user