[llvm-bugs] [Bug 47459] New: windows x64 exception data is innacurate

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Sep 8 04:08:59 PDT 2020


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

            Bug ID: 47459
           Summary: windows x64 exception data is innacurate
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: jerome_witmann at symantec.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created attachment 23935
  --> https://bugs.llvm.org/attachment.cgi?id=23935&action=edit
fix for wrong $ip2state records.

Hi,

While I was scrutinizing some generated code inside IDA PRO, I realized the
$ip2state records are wrong by 1 byte... which in turn make the disassembler
display the wrong start for try[]. This is bad, as it would dispatch the wrong
exception handler if an error happens on the 1st instruction.

I spent some time and found that the source of the problem is
WinException::getLabel() used in computeIP2StateTable. While the function
correctly build a label plus 1 for other EH table uses, in computeIP2StateTable
it should really not add 1. So I create a new function that just does that and
it resolved the issue.

I attach a patch... I don't really have time to do more than this, nor can i
provide a test file.

Best regards,
Jerome WITMANN

-- 
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/20200908/bdb58ae1/attachment-0001.html>


More information about the llvm-bugs mailing list