There are two global symbols 'pthread_create' and two global symbols 'pthread_attr_init' in /lib/libpthread-0.8.so . $ nm -D /lib/libpthread-0.8.so | grep pthread_create 00006c34 T pthread_create 00006354 T pthread_create $ and similarly for pthread_attr_init. This is wasted space, and possibly a logic bug (if in either case the two are not duplicates of each other).
Those are really 00006794 T pthread_create@@GLIBC_2.1 000070e4 T pthread_create In other words, versioned implementations of the same function for backwards compatibility.