[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