mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-26 11:33:45 +08:00
sim: bfin: se_all32bitopcodes: skip debug insns under the sim
Since the sim has a few fake debug insns that the hardware does not, we need to check for those before attempting to run them. Otherwise we'll randomly trigger the sim debug asserts/aborts/halts insns. On the hardware, these are proper invalid insns, and the table catches that.
This commit is contained in:
parent
531d5282c0
commit
7f5884f775
@ -1,3 +1,7 @@
|
||||
2013-06-23 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* se_all32bitopcodes.S (se_all_next_insn): Skip debug insn opcodes.
|
||||
|
||||
2013-06-23 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* se_allopcodes.h (_match): Simplify register test to one less insn.
|
||||
|
@ -64,6 +64,19 @@
|
||||
R0 = R0 + R1;
|
||||
1:
|
||||
|
||||
.ifndef BFIN_JTAG
|
||||
/* Skip debug insns when running in the sim. */
|
||||
R1.L = 0xff00;
|
||||
R1.H = 0x0000;
|
||||
R2 = R0 & R1;
|
||||
R1.L = 0xf000;
|
||||
CC = R1 == R2;
|
||||
IF !CC jump 1f (bp);
|
||||
R0.L = 0xf100;
|
||||
R0.H = 0x0000;
|
||||
1:
|
||||
.endif
|
||||
|
||||
[P5] = R0;
|
||||
.endm
|
||||
|
||||
@ -34164,7 +34177,7 @@
|
||||
.dw 0x0000, 0xe5c0, 0xffff, 0xe5ff, 0x21, 0
|
||||
.dw 0x0000, 0xe6c0, 0xffff, 0xe6ff, 0x21, 0
|
||||
.dw 0x0000, 0xe740, 0xffff, 0xe7ff, 0x21, 0
|
||||
.dw 0x0000, 0xf001, 0xffff, 0xffff, 0x21, 0
|
||||
.dw 0x0000, 0xf001, 0xffff, 0xffff, 0x21, 0
|
||||
.dw 0x0000, 0x0000, 0x0000, 0x0000, 0x00, 0
|
||||
.endm
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user