[PATCH] D81165: [DebugInfo] Refactor how unrecoverable debug line parsing errors work

James Henderson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 8 06:33:29 PDT 2020


jhenderson added a comment.

One of my other pending patches is going to address truncated standard opcodes, similar to what D80797 <https://reviews.llvm.org/D80797> does for extended opcodes. Unfortunately, because standard opcodes have no dedicated length field (unlike extended ones), it's not possible to resume parsing of the current table, if there's a problem reading the data. In all likelihood of course, it doesn't matter (the only errors are likely to be running off the table end, but technically an overflowing ULEB could also cause an error), but really this failure should be reported as an "unrecoverable" error, to indicate that table parsing is incomplete. This means that unrecoverable errors will be encountered when parsing the body as well as the prologue, and as such, I don't think splitting the prologue and body parsing into two separate functions will help solve the issue. I'll give it some thought and look at the .debug_loc code to consider alternatives. I do find parsing and printing simultaneously to be a little less than ideal, I must say.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D81165/new/

https://reviews.llvm.org/D81165





More information about the llvm-commits mailing list