binutils-gdb/gdb/testsuite/gdb.reverse
Yao Qi 9fde51ed30 Fix various bugs in arm_record_exreg_ld_st_insn
This patch fixes various bugs in arm_record_exreg_ld_st_insn, and use
gdb.reverse/insn-reverse.c to test more arm instructions.

 - Set flag SINGLE_REG correctly.  In the arch reference manual,
   SING_REG is true when the bit 8 of instruction is zero.
 - Record the right D registers for instructions changing S registers.
 - Fix the order of length and address in record_buf_mem array.
 - Shift the offset by 2 instead of by 24.

This patch also fixes one internal error,

(gdb) PASS: gdb.reverse/finish-precsave.exp: BP at end of main
continue^M
Continuing.^M
../../binutils-gdb/gdb/utils.c:1072: internal-error: virtual memory exhausted.^M
A problem internal to GDB has been detected,FAIL: gdb.reverse/finish-precsave.exp: run to end of main (GDB internal error)

gdb:

2016-02-26  Yao Qi  <yao.qi@linaro.org>

	* arm-tdep.c (arm_record_exreg_ld_st_insn): Set 'single_reg'
	per bit 8.  Check bit 20 instead of bit 4 for VMOV
	instruction.  Record D registers for instructions changing
	S registers.  Change of the order of length and address
	in record_buf_mem array.

gdb/testsuite:

2016-02-26  Yao Qi  <yao.qi@linaro.org>

	* gdb.reverse/insn-reverse.c [__arm__] (ext_reg_load): New.
	[__arm__] (ext_reg_mov, ext_reg_push_pop): New.
	(testcases): Update.
2016-02-26 15:00:36 +00:00
..
amd64-tailcall-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
amd64-tailcall-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
amd64-tailcall-reverse.S GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
break-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
break-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
break-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
consecutive-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
consecutive-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
consecutive-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
finish-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
finish-reverse-bkpt.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
finish-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
finish-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
fstatat-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
fstatat-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
getresuid-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
getresuid-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i386-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i386-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i386-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i386-sse-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i386-sse-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i387-env-reverse.c
i387-env-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
i387-stack-reverse.c
i387-stack-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
insn-reverse.c Fix various bugs in arm_record_exreg_ld_st_insn 2016-02-26 15:00:36 +00:00
insn-reverse.exp Rename gdb.reverse/aarch64.{exp,c} to gdb.reverse/insn-reverse.{exp,c} 2016-02-26 15:00:36 +00:00
machinestate-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
machinestate.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
machinestate.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
ms1.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
next-reverse-bkpt-over-sr.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
pipe-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
pipe-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
readv-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
readv-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
recvmsg-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
recvmsg-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
rerun-prec.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
rerun-prec.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-mvcle.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
s390-mvcle.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
shr1.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
shr2.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
shr.h GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
sigall-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
sigall-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
sigall-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
singlejmp-reverse-nodebug.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
singlejmp-reverse-nodebug.S GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
singlejmp-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
singlejmp-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
singlejmp-reverse.S GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
solib-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
solib-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
solib-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
step-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
step-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
step-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
time-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
time-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
until-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
until-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
until-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
ur1.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
waitpid-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
waitpid-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
watch-precsave.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
watch-reverse.c GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
watch-reverse.exp GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00