> > This looks like the problem we had with dlopen() and friends when introducing > the new WEAK symbol handling. > > in libc/misc/pthread/weaks.c you have stuff like: > weak_alias(__phtread_return_0, __phtread_once); > > where __phtread_return_0 is non NULL: > int __phtread_return_0(void) > { > return 0; > } > Changing the alias for __phtread_once to extern int __phtread_once(void) __attribute__ ((weak)); makes st_value=0 in libc, making the entry look the same as in glibc. Jocke