Add missing call to `Symbolizer::LateInitialize()` in UBSan's standalone init.

Authored by delcypher on Apr 20 2020, 6:27 PM.

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.


Add missing call to Symbolizer::LateInitialize() in UBSan's standalone init.

This fixes symbolization in Standalone UBSan mode for the Darwin simulators.

861b69faee5df8d4e13ef316c7474a10e4069e81 (rdar://problem/58789439) tried to fix
symbolization for all sanitizers on Darwin simulators but unfortunately it only
fixed the problem for TSan.

For UBSan in standalone mode the fix wasn't sufficient because UBSan's
standalone init doesn't call Symbolizer::LateInitialize() like ASan
and TSan do. This meant that AtosSymbolizerProcess::LateInitialize()
was never being called before
AtosSymbolizerProcess::StartSymbolizerSubprocess() which breaks an
invariant we expect to hold.

The missing call to Symbolizer::LateInitialize() during UBSan's
standalone init seems like an accidently omission so this patch simply
adds it.


Reviewers: vitalybuka, kubamracek, yln, samsonov

Subscribers: #sanitizers, llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D78530

(cherry picked from commit 564530e50ad4870801a2080a08645cc1cc2df805)