fix static linking dependency bloat with cancellation

previously, pthread_cleanup_push/pop were pulling in all of
pthread_create due to dependency on the __pthread_unwind_next
function. this was not needed, as cancellation cleanup handlers can
never be called unless pthread_exit or pthread_cancel is reachable.
This commit is contained in:
Rich Felker 2011-08-03 19:45:21 -04:00
commit 730bee725a
5 changed files with 21 additions and 14 deletions

View file

@ -8,12 +8,7 @@ weak_alias(dummy_0, __synccall_lock);
weak_alias(dummy_0, __synccall_unlock);
weak_alias(dummy_0, __pthread_tsd_run_dtors);
#ifdef __pthread_unwind_next
#undef __pthread_unwind_next
#define __pthread_unwind_next __pthread_unwind_next_3
#endif
void __pthread_unwind_next(struct __ptcb *cb)
void __pthread_do_unwind(struct __ptcb *cb)
{
pthread_t self = pthread_self();
int n;