[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