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
===== foo.S
                .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

(gdb)

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.

--

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to