@@ -3125,6 +3125,7 @@ struct DIEVisitor {
3125
3125
ArrayRef<AbbrevContent> DIEContents);
3126
3126
Error materializeAbbrevDIE (unsigned AbbrevIdx);
3127
3127
3128
+ uint16_t DwarfVersion;
3128
3129
SmallVector<AbbrevEntry> AbbrevEntryCache;
3129
3130
ArrayRef<StringRef> AbbrevEntries;
3130
3131
BinaryStreamReader DistinctReader;
@@ -3143,8 +3144,8 @@ Error DIEVisitor::visitDIEAttrs(BinaryStreamReader &DataReader,
3143
3144
ArrayRef<AbbrevContent> DIEContents) {
3144
3145
constexpr auto IsLittleEndian = true ;
3145
3146
constexpr auto AddrSize = 8 ;
3146
- constexpr auto FormParams =
3147
- dwarf::FormParams{4 /* Version */ , AddrSize, dwarf::DwarfFormat::DWARF32};
3147
+ auto FormParams =
3148
+ dwarf::FormParams{DwarfVersion , AddrSize, dwarf::DwarfFormat::DWARF32};
3148
3149
3149
3150
for (auto Contents : DIEContents) {
3150
3151
bool DataInDistinct = Contents.FormInDistinctData ;
@@ -3254,8 +3255,8 @@ static std::optional<uint8_t> getNonULEBFormSize(dwarf::Form Form,
3254
3255
3255
3256
Error DIEVisitor::materializeAbbrevDIE (unsigned AbbrevIdx) {
3256
3257
constexpr auto AddrSize = 8 ;
3257
- constexpr auto FormParams =
3258
- dwarf::FormParams{4 /* Version */ , AddrSize, dwarf::DwarfFormat::DWARF32};
3258
+ auto FormParams =
3259
+ dwarf::FormParams{DwarfVersion , AddrSize, dwarf::DwarfFormat::DWARF32};
3259
3260
3260
3261
AbbrevEntryReader AbbrevReader =
3261
3262
getAbbrevEntryReader (AbbrevEntries, AbbrevIdx);
@@ -3434,7 +3435,8 @@ Error mccasformats::v1::visitDebugInfo(
3434
3435
HeaderCallback (toStringRef (HeaderData));
3435
3436
3436
3437
append_range (TotAbbrevEntries, LoadedTopRef->AbbrevEntries );
3437
- DIEVisitor Visitor{{},
3438
+ DIEVisitor Visitor{DwarfVersion,
3439
+ {},
3438
3440
TotAbbrevEntries,
3439
3441
DistinctReader,
3440
3442
UncompressedDistinctData,
0 commit comments