Skip to content

Commit 4af5f3c

Browse files
committed
change method
1 parent be440e4 commit 4af5f3c

File tree

1 file changed

+4
-11
lines changed

1 file changed

+4
-11
lines changed

source/loader/layers/sanitizer/linux/symbolizer.cpp

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,13 @@
1212

1313
namespace ur_sanitizer_layer {
1414

15-
llvm::symbolize::LLVMSymbolizer *GetSymbolizer(bool destruct = false) {
16-
static auto *Instance = new llvm::symbolize::LLVMSymbolizer{};
17-
if (destruct) {
18-
delete Instance;
19-
Instance = nullptr;
20-
}
21-
return Instance;
22-
}
15+
static auto *Symbolizer = new llvm::symbolize::LLVMSymbolizer{};
2316

2417
// Let's destruct the symbolizer at the very end of exit process, at least
2518
// should be after the destructors of the SanitizerLayer since we may print
2619
// some symbolized information in the SanitizerLayer destructor.
2720
__attribute__((destructor(101))) void DestructSymbolizer() {
28-
(void)GetSymbolizer(true);
21+
delete Symbolizer;
2922
}
3023

3124
llvm::symbolize::PrinterConfig GetPrinterConfig() {
@@ -58,15 +51,15 @@ void SymbolizeCode(const char *ModuleName, uint64_t ModuleOffset,
5851
auto Printer =
5952
std::make_unique<llvm::symbolize::LLVMPrinter>(OS, EH, Config);
6053

61-
auto ResOrErr = ur_sanitizer_layer::GetSymbolizer()->symbolizeInlinedCode(
54+
auto ResOrErr = ur_sanitizer_layer::Symbolizer->symbolizeInlinedCode(
6255
ModuleName,
6356
{ModuleOffset, llvm::object::SectionedAddress::UndefSection});
6457

6558
if (!ResOrErr) {
6659
return;
6760
}
6861
Printer->print(Request, *ResOrErr);
69-
ur_sanitizer_layer::GetSymbolizer()->pruneCache();
62+
ur_sanitizer_layer::Symbolizer->pruneCache();
7063
if (RetSize) {
7164
*RetSize = Result.size() + 1;
7265
}

0 commit comments

Comments
 (0)