77 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
88 *
99 */
10-
11- #include " ur_sanitizer_layer.hpp"
12-
1310#include " llvm/DebugInfo/Symbolize/DIPrinter.h"
1411#include " llvm/DebugInfo/Symbolize/Symbolize.h"
1512
16- namespace ur_sanitizer_layer {
17-
18- llvm::symbolize::PrinterConfig GetPrinterConfig () {
13+ static llvm::symbolize::PrinterConfig GetPrinterConfig () {
1914 llvm::symbolize::PrinterConfig Config;
2015 Config.Pretty = false ;
2116 Config.PrintAddress = false ;
@@ -25,36 +20,32 @@ llvm::symbolize::PrinterConfig GetPrinterConfig() {
2520 return Config;
2621}
2722
28- } // namespace ur_sanitizer_layer
29-
3023extern " C" {
3124
3225void SymbolizeCode (const char *ModuleName, uint64_t ModuleOffset,
3326 char *ResultString, size_t ResultSize, size_t *RetSize) {
3427 std::string Result;
3528 llvm::raw_string_ostream OS (Result);
3629 llvm::symbolize::Request Request{ModuleName, ModuleOffset};
37- llvm::symbolize::PrinterConfig Config =
38- ur_sanitizer_layer::GetPrinterConfig ();
30+ llvm::symbolize::PrinterConfig Config = GetPrinterConfig ();
3931 llvm::symbolize::ErrorHandler EH = [&](const llvm::ErrorInfoBase &ErrorInfo,
4032 llvm::StringRef ErrorBanner) {
4133 OS << ErrorBanner;
4234 ErrorInfo.log (OS);
4335 OS << ' \n ' ;
4436 };
45- auto Printer =
46- std::make_unique< llvm::symbolize::LLVMPrinter> (OS, EH, Config);
37+ llvm::symbolize::LLVMSymbolizer Symbolizer;
38+ llvm::symbolize::LLVMPrinter Printer (OS, EH, Config);
4739
48- auto ResOrErr =
49- ur_sanitizer_layer::getContext ()->symbolizer .symbolizeInlinedCode (
50- ModuleName,
51- {ModuleOffset, llvm::object::SectionedAddress::UndefSection});
40+ auto ResOrErr = Symbolizer.symbolizeInlinedCode (
41+ ModuleName,
42+ {ModuleOffset, llvm::object::SectionedAddress::UndefSection});
5243
5344 if (!ResOrErr) {
5445 return ;
5546 }
56- Printer-> print (Request, *ResOrErr);
57- ur_sanitizer_layer::getContext ()-> symbolizer .pruneCache ();
47+ Printer. print (Request, *ResOrErr);
48+ Symbolizer .pruneCache ();
5849 if (RetSize) {
5950 *RetSize = Result.size () + 1 ;
6051 }
0 commit comments