[compiler-rt] 564530e - Add missing call to `Symbolizer::LateInitialize()` in UBSan's standalone init.
Dan Liew via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 21 18:44:51 PDT 2020
Author: Dan Liew
Date: 2020-04-21T18:43:33-07:00
New Revision: 564530e50ad4870801a2080a08645cc1cc2df805
URL: https://github.com/llvm/llvm-project/commit/564530e50ad4870801a2080a08645cc1cc2df805
DIFF: https://github.com/llvm/llvm-project/commit/564530e50ad4870801a2080a08645cc1cc2df805.diff
LOG: Add missing call to `Symbolizer::LateInitialize()` in UBSan's standalone init.
Summary:
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.
rdar://problem/62083617
Reviewers: vitalybuka, kubamracek, yln, samsonov
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D78530
Added:
Modified:
compiler-rt/lib/ubsan/ubsan_init.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/ubsan/ubsan_init.cpp b/compiler-rt/lib/ubsan/ubsan_init.cpp
index 1a3b7d372674..26b6227aa484 100644
--- a/compiler-rt/lib/ubsan/ubsan_init.cpp
+++ b/compiler-rt/lib/ubsan/ubsan_init.cpp
@@ -41,6 +41,7 @@ static void CommonStandaloneInit() {
AndroidLogInit();
InitializeCoverage(common_flags()->coverage, common_flags()->coverage_dir);
CommonInit();
+ Symbolizer::LateInitialize();
}
void __ubsan::InitAsStandalone() {
More information about the llvm-commits
mailing list