Hello, While investigating a build failure of the "gamin" package in Buildroot on the Microblaze architecture (http://autobuild.buildroot.net/results/887/887df97196d7777efbf18a7bee91aa45c1a98700/build-end.log) regarding PTHREAD_MUTEX_RECURSIVE being undefined, I noticed a discrepancy between the definition of PTHREAD_MUTEX_RECURSIVE in the linuxthreads variant of pthread.h and the NPTL variant of pthread.h. Indeed, libpthread/nptl/sysdeps/pthread/pthread.h contains:
#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL #endif while the corresponding linuxthreads version, in libpthread/linuxthreads/sysdeps/pthread/pthread.h contains: #ifdef __USE_UNIX98 , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_ADAPTIVE_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL #endif Notice how the NPTL code defines all the non-NP variants if __USE_XOPEN2K8 is defined, but not the linuxthreads version? Maybe this difference is normal, I am not familiar enough with all the standards and conformance issues, but I thought it would be good to point it out. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com _______________________________________________ devel mailing list devel@uclibc-ng.org http://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel