|
From: John R. <jr...@bi...> - 2016-01-09 13:54:25
|
> Is there any information on adding support for unsupported instructions? At this point, with >99% of instructions already recognized, then you should reason by analogy. Use a debugger such as gdb to trace the execution under valgrind of a similar instruction, then modify and extend to handle the unimplemented instruction. For a 'rotate' instruction, use the corresponding right-shift. Hints: Assemble the two-line program _start: .globl _start .word <the-bits-for-your-instruction> using gcc -nostartfiles -nodefaultlibs -nostdlib foo.S to get an executable file with a .text that has 4==.p_memsz. Then run memcheck on that executable. Run "valgrind --help-debug" and look carefully at "Vex options for all Valgrind tools", particularly --trace-flags. Read "Debugging Valgrind with GDB" in README_DEVELOPERS. The code is in VEX/priv/guest_arm* |