http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58937
--- Comment #8 from Evgeniy Stepanov <eugeni.stepanov at gmail dot com> --- I'm a little surprised we did not run into this on Android yet - we use the same LD_PRELOAD scheme there. Are you linking libasan with libpthread? This might go away as libpthread constructors call one of the ASan interceptors that does ENSURE_ASAN_INITED(). Arguably, all interceptors should do it. I think Kostya raises valid points, but still, adding attribute((constructor)) is reasonable.