[PATCH] D64544: [DWARF] Add more error handling to debug line parser.
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 17 11:41:33 PDT 2019
dblaikie added a comment.
In D64544#1589926 <https://reviews.llvm.org/D64544#1589926>, @JDevlieghere wrote:
> In D64544#1589861 <https://reviews.llvm.org/D64544#1589861>, @probinson wrote:
>
> > In D64544#1589853 <https://reviews.llvm.org/D64544#1589853>, @dblaikie wrote:
> >
> > > I was rather hoping for test coverage for all the new error messages this change introduced - is that unrealistic/impractical?
> >
>
>
> Oh, sure, I was focussed on the MD5 one because that's the only one that's "new". I'll make sure the other ones are covered too.
>
> >> Yeah, the line table is especially tricky to hand-craft compared to checking in an object file. I think it technically can still be hand-crafted assembly (no line directives, etc, just a debug_line section with raw byte (etc) directives) - might be plausible & make it clearer what the input is? (checked in assembly, assembled with llvm-mc then run through llvm-dwarfdump to test the parsing)
> >
> > Hear hear. It looks like this patch is all about diagnosing issues in the v5 prologue/file-table, and it should be relatively easy to construct bogus examples in assembler. You don't need a line-number program at all. There ought to be examples of *valid* v5 line-table headers lying around, I know I did all the dumper work with assembler tests before I ever generated any v5 headers.
>
> How would you be able to emit a wrong form value for the MD5 hash from assembly? The directive (which I think you came up with?) is just `md5 [data]`? Deciding which form to emit is hard-coded in `MCDwarf`.
Not using line directives to create the line table - using normal/raw assembly (the same way we have assembly for debug_info sections for some tests) to create the bytes in the debug_line section. Does that make sense?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64544/new/
https://reviews.llvm.org/D64544
More information about the llvm-commits
mailing list