[PATCH] D86527: [3/5] [MC] [Win64EH] Produce well-formed xdata records when info is missing

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 17:18:28 PDT 2020


efriedma added a comment.

> letting you append handler specific data which is supposed to follow directly after the unwind data itself

Oh, that's the part I was missing; thanks.  So in well-formed code, .seh_handlerdata should come after an .seh_endprologue, and there shouldn't be any .seh_* directives or instructions between the .seh_handlerdata and the .seh_endproc?

> For the contrieved .seh_handlerdata case, we could avoid outputting the unwind info itself, leave the orphaned handler specific data in the section, and not hook up the pdata entry.

That's probably makes the most sense, yes.

> Can we output warnings from this layer?

Technically yes, but you've lost the source location by the time you get this deep, so it wouldn't be pretty.  Probably we should do some primitive tracking of the SEH state in the asmparser, and emit a warning from there.


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

https://reviews.llvm.org/D86527



More information about the llvm-commits mailing list