JITEmitter::finishFunction() calls EmitDwarfTable() to generate the exception tables for the function, but doesn't check for a buffer overflow afterwards. As a result of this, we can end up with a partial exception record for a function which can result in a seg-fault during exception handling. upstream bug: http://llvm.org/bugs/show_bug.cgi?id=13678
Thanks for the report! Do you have a link to the llvm-dev mailing discussion? Or if feedback was positive, we can add it to our patchs
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-September/053233.html