@@ -37,8 +37,10 @@ bool __sanitizer_symbolize_code(const char *ModuleName, uint64_t ModuleOffset,
37
37
{
38
38
llvm::raw_string_ostream OS (Result);
39
39
llvm::symbolize::DIPrinter Printer (OS);
40
+ // TODO: it is neccessary to set proper SectionIndex here.
41
+ // object::SectionedAddress::UndefSection works for only absolute addresses.
40
42
auto ResOrErr =
41
- getDefaultSymbolizer ()->symbolizeInlinedCode (ModuleName, ModuleOffset);
43
+ getDefaultSymbolizer ()->symbolizeInlinedCode (ModuleName, { ModuleOffset, object::SectionedAddress::UndefSection} );
42
44
Printer << (ResOrErr ? ResOrErr.get () : llvm::DIInliningInfo ());
43
45
}
44
46
return __sanitizer::internal_snprintf (Buffer, MaxLength, " %s" ,
@@ -51,8 +53,10 @@ bool __sanitizer_symbolize_data(const char *ModuleName, uint64_t ModuleOffset,
51
53
{
52
54
llvm::raw_string_ostream OS (Result);
53
55
llvm::symbolize::DIPrinter Printer (OS);
56
+ // TODO: it is neccessary to set proper SectionIndex here.
57
+ // object::SectionedAddress::UndefSection works for only absolute addresses.
54
58
auto ResOrErr =
55
- getDefaultSymbolizer ()->symbolizeData (ModuleName, ModuleOffset);
59
+ getDefaultSymbolizer ()->symbolizeData (ModuleName, { ModuleOffset, object::SectionedAddress::UndefSection} );
56
60
Printer << (ResOrErr ? ResOrErr.get () : llvm::DIGlobal ());
57
61
}
58
62
return __sanitizer::internal_snprintf (Buffer, MaxLength, " %s" ,
0 commit comments