jhenderson marked an inline comment as done. jhenderson added inline comments.
================ Comment at: llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp:323-325 + // Treat this error as unrecoverable - we cannot be sure what any of + // the data represents including the length field, so cannot skip it or make + // any reasonable assumptions. ---------------- labath wrote: > BTW, I think this error should be recoverable too. I believe the reason why > the length field comes *before* the version number is specifically so that > one can skip over contributions with unsupported (future) version numbers. > > While it's hard to say what the future versions of dwarf will look like, I > would expect that the committee will try very hard to avoid making changes > in the length field. I think they'd use one of the > DW_LENGTH_lo_reserved..DW_LENGTH_hi_reserved-1 constants for severely > incompatible changes. "Unrecoverable" here means don't try to parse this table, but do allow parsing the next. I think the comment might be slightly misleading in this regard. FWIW, a version of 0 or 1 probably doesn't have a leading length, so it is definitely unrecoverable. For versions > 5, which are now checked, we don't know what the structure of the header is, so although we could take a guess, we'd almost certainly get it wrong and produce invalid (possibly very invalid) output. I don't have a strong opinion as to whether that should be an unrecoverable error or not (currently it is). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72158/new/ https://reviews.llvm.org/D72158 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits