forked from OSchip/llvm-project
[DWARF] Use hasFileAtIndex to properly verify DWARF 5 after rL358732
llvm-svn: 358734
This commit is contained in:
parent
96451e3a2c
commit
9a331bba2a
|
@ -705,7 +705,6 @@ void DWARFVerifier::verifyDebugLineRows() {
|
|||
continue;
|
||||
|
||||
// Verify prologue.
|
||||
uint32_t MaxFileIndex = LineTable->Prologue.FileNames.size();
|
||||
uint32_t MaxDirIndex = LineTable->Prologue.IncludeDirectories.size();
|
||||
uint32_t FileIndex = 1;
|
||||
StringMap<uint16_t> FullPathMap;
|
||||
|
@ -763,13 +762,16 @@ void DWARFVerifier::verifyDebugLineRows() {
|
|||
}
|
||||
|
||||
// Verify file index.
|
||||
if (Row.File > MaxFileIndex) {
|
||||
if (!LineTable->hasFileAtIndex(Row.File)) {
|
||||
++NumDebugLineErrors;
|
||||
bool isDWARF5 = LineTable->Prologue.getVersion() >= 5;
|
||||
error() << ".debug_line["
|
||||
<< format("0x%08" PRIx64,
|
||||
*toSectionOffset(Die.find(DW_AT_stmt_list)))
|
||||
<< "][" << RowIndex << "] has invalid file index " << Row.File
|
||||
<< " (valid values are [1," << MaxFileIndex << "]):\n";
|
||||
<< " (valid values are [" << (isDWARF5 ? "0," : "1,")
|
||||
<< LineTable->Prologue.FileNames.size()
|
||||
<< (isDWARF5 ? ")" : "]") << "):\n";
|
||||
DWARFDebugLine::Row::dumpTableHeader(OS);
|
||||
Row.dump(OS);
|
||||
OS << '\n';
|
||||
|
|
Loading…
Reference in New Issue