[llvm-bugs] [Bug 43488] New: libunwind: _Unwind_GetIPInfo doesn't handle signal frames correctly
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Fri Sep 27 15:01:21 PDT 2019
    
    
  
https://bugs.llvm.org/show_bug.cgi?id=43488
            Bug ID: 43488
           Summary: libunwind: _Unwind_GetIPInfo doesn't handle signal
                    frames correctly
           Product: libc++abi
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: All Bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: jgorbe at google.com
                CC: llvm-bugs at lists.llvm.org, mclow.lists at gmail.com
_Unwind_GetIPInfo has an output argument which is a flag indicating whether the
returned IP points before or after the next instruction to be executed.
This flag is currently always set to 0 (see
https://github.com/llvm-mirror/libunwind/blob/master/src/UnwindLevel1-gcc-ext.c#L224).
Therefore, when the caller of _GetIPInfo uses this flag to decide if it should
decrement the returned IP to get the actual address of the next instruction to
be executed, it will always decrement.
This is wrong for signal frames (where _Unwind_GetIPInfo should set the flag to
1), and the caller might even end up looking at a different function if the
returned IP was pointing to the first instruction of a function.
-- 
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/20190927/c9f38d11/attachment.html>
    
    
More information about the llvm-bugs
mailing list