From: Rich Felker Date: Thu, 17 Jan 2019 04:50:08 +0000 (-0500) Subject: fix unintended linking dependency of pthread_key_create on __synccall X-Git-Tag: v1.1.21~3 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=16a522bab047f3014f08302042ab90cf5812b131;p=oweals%2Fmusl.git fix unintended linking dependency of pthread_key_create on __synccall commit 84d061d5a31c9c773e29e1e2b1ffe8cb9557bc58 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. --- diff --git a/src/thread/pthread_key_create.c b/src/thread/pthread_key_create.c index e26f199c..0903d48f 100644 --- a/src/thread/pthread_key_create.c +++ b/src/thread/pthread_key_create.c @@ -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 = {