@@ -37,8 +37,10 @@ bool __sanitizer_symbolize_code(const char *ModuleName, uint64_t ModuleOffset,
3737 {
3838 llvm::raw_string_ostream OS (Result);
3939 llvm::symbolize::DIPrinter Printer (OS);
40+ // TODO: it is neccessary to set proper SectionIndex here.
41+ // object::SectionedAddress::UndefSection works for only absolute addresses.
4042 auto ResOrErr =
41- getDefaultSymbolizer ()->symbolizeInlinedCode (ModuleName, ModuleOffset);
43+ getDefaultSymbolizer ()->symbolizeInlinedCode (ModuleName, { ModuleOffset, object::SectionedAddress::UndefSection} );
4244 Printer << (ResOrErr ? ResOrErr.get () : llvm::DIInliningInfo ());
4345 }
4446 return __sanitizer::internal_snprintf (Buffer, MaxLength, " %s" ,
@@ -51,8 +53,10 @@ bool __sanitizer_symbolize_data(const char *ModuleName, uint64_t ModuleOffset,
5153 {
5254 llvm::raw_string_ostream OS (Result);
5355 llvm::symbolize::DIPrinter Printer (OS);
56+ // TODO: it is neccessary to set proper SectionIndex here.
57+ // object::SectionedAddress::UndefSection works for only absolute addresses.
5458 auto ResOrErr =
55- getDefaultSymbolizer ()->symbolizeData (ModuleName, ModuleOffset);
59+ getDefaultSymbolizer ()->symbolizeData (ModuleName, { ModuleOffset, object::SectionedAddress::UndefSection} );
5660 Printer << (ResOrErr ? ResOrErr.get () : llvm::DIGlobal ());
5761 }
5862 return __sanitizer::internal_snprintf (Buffer, MaxLength, " %s" ,
0 commit comments