[Lldb-commits] [PATCH] D16772: Fix single stepping over the IT instruction

Tamas Berghammer via lldb-commits lldb-commits at lists.llvm.org
Tue Feb 2 06:35:02 PST 2016

tberghammer added a comment.

In http://reviews.llvm.org/D16772#340950, @clayborg wrote:

> Looks good.
> A related comment about IT instructions. You need to be careful when software single stepping through instructions that are in the middle of an ITSTATE block. You can NOT use a 16 bit instruction that isn't a BKPT otherwise you change your instructions. Are you guys using the BKPT trap for software breakpoints? If not, you should not step through IT instructions that have 32 bit thumb instructions or you will hose your program. Let me know if you need to know more about this.

We are currently using 16 bit UDF instruction and as far as I can tell from some manual testing it is working as expected both when stepping over 16 bit and when stepping over 32 bit instructions. I will look into it why we are using UDF instead of BKPT and will create a separate CL for replacing it.

In http://reviews.llvm.org/D16772#341030, @omjavaid wrote:

> Looks good. Was there a test failing in testsuite due to this?

I detected the issue based on TestStandardUnwind but we have no test exercising this feature directly.

P.S.: TestStandardUnwind still failing on some android arm devices because we don't handle the IT instruction for unwinding either. I am working on a fix for that as well.


More information about the lldb-commits mailing list