https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68187
--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to Bernd Edlinger from comment #1) [...] > in crypto/engine/eng_lib.c: > > int engine_free_util(ENGINE *e, int locked) > { > int i; > > if (e == NULL) { > ENGINEerr(ENGINE_F_ENGINE_FREE_UTIL, ERR_R_PASSED_NULL_PARAMETER); > return 0; > } > if (locked) > i = CRYPTO_add(&e->struct_ref, -1, CRYPTO_LOCK_ENGINE); > else > i = --e->struct_ref; > engine_ref_debug(e, 0, -1) > if (i > 0) > return 1; [...] Thanks; this is visible in full at: https://github.com/openssl/openssl/blob/master/crypto/engine/eng_lib.c#L116 Looking at https://github.com/openssl/openssl/blob/master/crypto/engine/eng_int.h#L86 I see that engine_ref_debug is of the form fprintf (/* various things */); when # ifdef ENGINE_REF_COUNT_DEBUG and it's empty when ENGINE_REF_COUNT_DEBUG isn't defined.