[lldb-dev] [Bug 40947] New: LLDB compiled by gcc doesn't evaluate expressions on 32 bit
lldb-dev at lists.llvm.org
Mon Mar 4 02:22:18 PST 2019
Bug ID: 40947
Summary: LLDB compiled by gcc doesn't evaluate expressions on
Component: All Bugs
Assignee: lldb-dev at lists.llvm.org
Reporter: m.aksenov at samsung.com
CC: llvm-bugs at lists.llvm.org
I'm using LLDB cross-compiled by gcc on ARM. When I'm trying to evaluate a
simple expression (e.g. x+1), debugger gives an error message: "Expression
can't be run, because there is no JIT compiled function".
I think I've found the reason. In function
lldb_private::IRExecutionUnit::GetRunnableInfo there is a cast operator from
void* (32 bit in my case) to lldb::addr_t (64 bit). Pointer-to-integer
conversion is implementation defined as per the C99 standard and gcc performs
signed extension here. Further it compares with unsigned number (uintptr_t) in
IRExecutionUnit::GetRemoteAddressForLocal and address can't be found.
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the lldb-dev