I'm debugging android jni with gdb, trying to single step through BLX snprintf, but the debug session crashes with SIGILL. Here's the code in gdb:The first line blx 0x9d857ad0 is actually BLX snprintf. Crash(SIGILL) happens if I single step over this line. As gdb says 0x9d857ad4 in ?? (), it's in the middle of the first instruction in snprintf:The first instruction of snprintf ADRL R12,0x14FAD8 takes 8 bytes, but arm only use 4 bytes, I guess this is the problem. It seems lots of functions look like this, memset snprintf strncpy, they all begin with an ADLR R12, 0x... instruction:Why is that? How to make gdb step over instruction with 8 bytes? 
step over 8-byte-instruction in android arm code cause SIGILL
debugging;android;gdb;arm