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.


http://reviews.llvm.org/D12556



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to