[Lldb-commits] [PATCH] D12556: Introduce new address class eAddressClassDataIntermixedCode
Greg Clayton via lldb-commits
lldb-commits at lists.llvm.org
Wed Sep 2 11:35:19 PDT 2015
clayborg added a comment.
I would leave everything as is (no eAddressClassDataIntermixedCode), but I would change the code to use:
target->GetOpcodeLoadAddress (return_load_addr, eAddressClassCode);
We don't need to lookup the address class type when determining return addresses. Then this should just work.
The main reason I don't want stuff changing by adding eAddressClassDataIntermixedCode is if we are single stepping over 0x1000:
0x1000: bx <addr> Non-tail call in a no return function
0x1004: [data-pool] Marked with $d mapping symbol
We might set a breakpoint at 0x1004, but if we determine that 0x1004 is data, we won't set a breakpoint there... So there are cases where we want to know the truth about address 1004. But in the case of the LR or any return address, we need to just assume it is a code address instead of figuring out what it actually is.
More information about the lldb-commits