fix unintended linking dependency of pthread_key_create on __synccall

commit 84d061d5a3 attempted to do this
already, but omitted from pthread_key_create.c the weak definition of
__pthread_key_delete_synccall, so that the definition provided by
pthread_key_delete.c was always pulled in.

based on patch by Markus Wichmann, but with a weak alias rather than
weak reference for consistency/policy about dependence on tooling
features.
This commit is contained in:
Rich Felker 2019-01-16 23:50:08 -05:00
parent de7dc1318f
commit 16a522bab0

View File

@ -35,6 +35,12 @@ static void clean_dirty_tsd_callback(void *p)
if (args->caller == self) args->ret = 0;
}
static void dummy2(void (*f)(void *), void *p)
{
}
weak_alias(dummy2, __pthread_key_delete_synccall);
static int clean_dirty_tsd(void)
{
struct cleanup_args args = {