This hangs for me with glibc 2.3.2-7:
sl.c:
#include <syslog.h>
#include <dlfcn.h>
int
main( void )
{
dlopen("./sll.so", RTLD_LAZY);
openlog("asd2", 0, 0);
syslog(0, "sdfsdf");
return(0);
}
sll.c:
(empty file)
gcc sl.c -osl -ldl
gcc sll.c -osll.so -shared -lpthread
./sl
(this is what i got after some hours of debugging.. maybe useful for
something.)