[llvm-bugs] [Bug 43872] New: libunwind: Evaluating DWARF operation DW_OP_pick is broken
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Oct 31 23:52:37 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=43872
Bug ID: 43872
Summary: libunwind: Evaluating DWARF operation DW_OP_pick is
broken
Product: libc++abi
Version: 9.0
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: All Bugs
Assignee: unassignedbugs at nondot.org
Reporter: ilya.burylov at intel.com
CC: llvm-bugs at lists.llvm.org, mclow.lists at gmail.com
The problem is in libunwind: src/DwarfInstructions.hpp
DwarfInstructions<A, R>::evaluateExpression()
...
uint32_t reg;
...
case DW_OP_pick:
// pick from
reg = addressSpace.get8(p);
p += 1;
value = sp[-reg];
*(++sp) = value;
DW_OP_pick instructs to push an stack entry on the stack with the specified
index (0 through 255, inclusive)
Since reg is unsigned, -reg does not do, what it was supposed to do.
--
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/20191101/6944d64a/attachment-0001.html>
More information about the llvm-bugs
mailing list