Re: hi, there is an unknown instruction in arm32 mode. Does valgrind not support strmi instr?
> disInstr(thumb): unhandled instruction: 0x450B 0xD104 0x450B 0xD104 => strmi Does valgrind not support strmi instr?
> ==23313== valgrind: Unrecognised instruction at address 0x4108187.
The complaint says "(thumb)", and the address 0x4108187 is odd, so this looks like
Thumb mode, which is 16-bit instructions. There is no "strmi" opcode in the Thumb
instruction set. "strmi" would be a 32-bit instruction which is a conditional
"STore Register to memory if condition code is MInus (N bit (negative) set)".
Assembling and dis-assembling the program
.short 0x450B, 0xD104
$ gcc -c foo.S
$ gdb foo.o
(gdb) x/2i 1 ### 1: odd pc ==> thumb mode (16-bit instructions)
0x1: cmp r3, r1
0x3: bne.n 0xe
(gdb) x/i 0 ### 0: even pc ==> ARM mode (32-bit instructions)
0x0: tstle r4, r11, lsl #10
shows that "0x450B 0xD104" is not a 'strmi'.
Please use a debugger or other tool to inspect the instruction stream.
Show the surrounding bytes (16 bytes before, 16 bytes after)
in both hex and decoded instructions.