We used to initialize symbolizer lazily, but this doesn't work in
various sandboxed environments. Instead, let's be consistent with
the rest of sanitizers.
llvm-svn: 214006
InitIfNecessary();
AddressInfo Info;
- if (!Symbolizer::GetOrInit()->SymbolizePC(Loc, &Info, 1) ||
- !Info.module || !*Info.module)
+ if (!Symbolizer::Get()->SymbolizePC(Loc, &Info, 1) || !Info.module ||
+ !*Info.module)
return Location(Loc);
if (FName && Info.function)
Printf("%s", A.String);
break;
case Diag::AK_Mangled: {
- Printf("'%s'", Symbolizer::GetOrInit()->Demangle(A.String));
+ Printf("'%s'", Symbolizer::Get()->Demangle(A.String));
break;
}
case Diag::AK_SInt:
#include "sanitizer_common/sanitizer_libc.h"
#include "sanitizer_common/sanitizer_flags.h"
#include "sanitizer_common/sanitizer_mutex.h"
+#include "sanitizer_common/sanitizer_symbolizer.h"
using namespace __ubsan;
cf->print_summary = false;
// Common flags may only be modified via UBSAN_OPTIONS.
ParseCommonFlagsFromString(cf, GetEnv("UBSAN_OPTIONS"));
+ Symbolizer::GetOrInit();
}
// Initialize UBSan-specific flags.
InitializeFlags();