jasonmolenda added a subscriber: jasonmolenda.
jasonmolenda added a comment.

fwiw, there are ARM cores that only support thumb - the Cortex M series.  I 
doubt a windows phone is running one of those low-power chips though.  The 
importance of the triple used will come in to play when you try to evaluate an 
expression on the device -- lldb will call into llvm to parse/jit the 
expression into machine code for the device.  For instance, if "arm-windows" 
translates to a minimum arm target, llvm may not think it has any fp/NEON 
instructions.  As for lldb disassembling as arm/thumb (or instruction emulation 
for unwinding), today it doesn't use the CPSR/XPSR T bit to tell if the current 
instruction is thumb or not, it depends on annotations in the symbol file to do 
this correctly.  I don't think it uses the 0th bit of saved pc values up the 
stack to tell this either -- it is a pretty fixed model of depending on the 
symbols to indicate whether they're arm or thumb.

If you look in the disassembler, lldb creates both an armv7 MCDisassembler and 
a thumbv7 MCDisassembler and picks one or the other depending on the symbol's 
"alternate ISA" flag or something along those lines.


http://reviews.llvm.org/D19604



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

Reply via email to