------- Comment #13 from jakub at gcc dot gnu dot org 2010-07-19 16:52 ------- You clearly haven't looked at the code. libgfortran uses gthr*.h macros/inlines for portability, and those test pthread_cancel != NULL (using weak undef; test that for many different inlines, see __gthread_active_p). The problem is that if pthread_cancel is linked in from libpthread.a, but some other pthread_* function is not, then it will crash when calling that non-available function. Testing all possible pthread_* functions that are ever mentioned in gthr*.h in __gthread_active_p would be terrible for performance.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44927