https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121366
--- Comment #6 from kargls at comcast dot net --- (In reply to kargls from comment #5) > > gfc_resolve_sind (gfc_expr *f, gfc_expr *x) > { > f->ts = x->ts; > f->value.function.name > = gfc_get_string (PREFIX ("sind_%c%d"), gfc_type_letter (x->ts.type), > gfc_type_abi_kind (&x->ts)); > } Ugh, bad things are about to happen. PREFIX ("%sind_%c%d") expands to _gfortran_specific_gfortran_sind_r4 for REAL(4), which is not in libgfortran.a. The symbol in the library is _gfortran_sind_r4. With 'PREFIX ("sind_%c%d")' replaces with '"_sind_%c%d"', we get _gfortran_specific_sind_r4, which is closer to want we want but still conflicts with the exported names in libgfortran.so