@@ -3113,6 +3113,7 @@ struct DIEVisitor {
3113
3113
ArrayRef<AbbrevContent> DIEContents);
3114
3114
Error materializeAbbrevDIE (unsigned AbbrevIdx);
3115
3115
3116
+ uint16_t DwarfVersion;
3116
3117
SmallVector<AbbrevEntry> AbbrevEntryCache;
3117
3118
ArrayRef<StringRef> AbbrevEntries;
3118
3119
BinaryStreamReader DistinctReader;
@@ -3131,8 +3132,8 @@ Error DIEVisitor::visitDIEAttrs(BinaryStreamReader &DataReader,
3131
3132
ArrayRef<AbbrevContent> DIEContents) {
3132
3133
constexpr auto IsLittleEndian = true ;
3133
3134
constexpr auto AddrSize = 8 ;
3134
- constexpr auto FormParams =
3135
- dwarf::FormParams{4 /* Version */ , AddrSize, dwarf::DwarfFormat::DWARF32};
3135
+ auto FormParams =
3136
+ dwarf::FormParams{DwarfVersion , AddrSize, dwarf::DwarfFormat::DWARF32};
3136
3137
3137
3138
for (auto Contents : DIEContents) {
3138
3139
bool DataInDistinct = Contents.FormInDistinctData ;
@@ -3242,8 +3243,8 @@ static std::optional<uint8_t> getNonULEBFormSize(dwarf::Form Form,
3242
3243
3243
3244
Error DIEVisitor::materializeAbbrevDIE (unsigned AbbrevIdx) {
3244
3245
constexpr auto AddrSize = 8 ;
3245
- constexpr auto FormParams =
3246
- dwarf::FormParams{4 /* Version */ , AddrSize, dwarf::DwarfFormat::DWARF32};
3246
+ auto FormParams =
3247
+ dwarf::FormParams{DwarfVersion , AddrSize, dwarf::DwarfFormat::DWARF32};
3247
3248
3248
3249
AbbrevEntryReader AbbrevReader =
3249
3250
getAbbrevEntryReader (AbbrevEntries, AbbrevIdx);
@@ -3422,7 +3423,8 @@ Error mccasformats::v1::visitDebugInfo(
3422
3423
HeaderCallback (toStringRef (HeaderData));
3423
3424
3424
3425
append_range (TotAbbrevEntries, LoadedTopRef->AbbrevEntries );
3425
- DIEVisitor Visitor{{},
3426
+ DIEVisitor Visitor{DwarfVersion,
3427
+ {},
3426
3428
TotAbbrevEntries,
3427
3429
DistinctReader,
3428
3430
UncompressedDistinctData,
0 commit comments