Date: Fri, 29 May 2015 14:57:16 +0000 From: Emmanuel Dreyfus <m...@netbsd.org>
I have seen that with older libc: setting breackpoints on pthread_key_create() and pthread_setspecific() shows that malloc() calls the later without calling the former, which is a bug. It worked before previously, pthread__tsd_destructors[] was not zero'ed and contained random data. I tested filling the array with non NULL random data and the assertion is not fired anymore. No, previously pthread__tsd_destructors was zero'd too, because it was an object declared with static storage and no initializer.