[llvm-bugs] [Bug 30747] Windows x64 SEH __except filter continuing to __finally gets UD2
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Oct 20 10:47:28 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=30747
Reid Kleckner <rnk at google.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |rnk at google.com
Resolution|--- |FIXED
--- Comment #1 from Reid Kleckner <rnk at google.com> ---
This doesn't reproduce for me locally with a recent version of clang.
Here's your annotated disassembly:
?dtor$3@?0?f at 4HA: This is a filter function with zero
handlercont, i.e. a clean-up.
0040: mov qword ptr [rsp+10h],rdx save rdx
0045: push rbp
0046: sub rsp,20h
004A: lea rbp,[rdx+30h]
004E: ud2 ??? ???
Assembly produced by clang locally:
"?dtor$3@?0??f@@YAHXZ at 4HA":
movq %rdx, 16(%rsp)
pushq %rbp
subq $32, %rsp
leaq 48(%rdx), %rbp
incl ".L?f@@YAHXZ$frame_escape_0"(%rbp)
addq $32, %rsp
popq %rbp
retq # CLEANUPRET
I think this has been fixed some time between 3.8 and now.
A ud2 instruction usually indicates that reaching it would be an error,
something like falling off the end of a function without returning or calling a
function with the wrong calling convention. I'm not sure why 3.8 had this
problem, but it doesn't seem present today. Please reopen if you still have
issues with 3.9 or 4.0.
--
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/20161020/c04d14e4/attachment.html>
More information about the llvm-bugs
mailing list