[llvm-bugs] [Bug 31317] New: Windows x64 SEH finally filter has handler flags but no LSDA

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 8 10:40:22 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=31317

            Bug ID: 31317
           Summary: Windows x64 SEH finally filter has handler flags but
                    no LSDA
           Product: new-bugs
           Version: 3.9
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: nb at ravenbrook.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 17740
  --> https://llvm.org/bugs/attachment.cgi?id=17740&action=edit
Simple example with LLIR and object file dump

When compiling a cleanuppad on Windows x64, the resulting cleanup "filter"
function has UNWIND_INFO with UNWIND_FLAG_EHANDLER and UNWIND_FLAG_UHANDLER
set, but has no room at the end of the UNWIND_INFO for a language-specific data
area.  Not even four bytes for a 'count' of zero.
This causes fatal errors if the filter function (or something called by it)
raises an exception.
In our compiler for a client-specific language, we are able to work around this
by identifying UNWIND_INFO blocks without flag bits set but no room for an LSDA
and resetting their flag bits.
See attachment for a detailed example.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161208/033d6364/attachment.html>


More information about the llvm-bugs mailing list