From: Kevin Buettner <kevinb@redhat.com>
To: rda@sources.redhat.com
Subject: [PATCH] linux-target.c: More MIPS software single step fixes
Date: Fri, 09 May 2003 22:12:00 -0000 [thread overview]
Message-ID: <1030509221200.ZM25523@localhost.localdomain> (raw)
I've just committed the patch below.
Thanks to Chris Demetriou for feedback regarding problems with my
earlier patch.
* linux-target.c (mips_singlestep): Don't any consider cop0 or cop1x
instructions to be conditional branches. Expand set of cop1
opcodes considered to be conditional branches.
Index: linux-target.c
===================================================================
RCS file: /cvs/src/src/rda/unix/linux-target.c,v
retrieving revision 1.7
diff -u -p -r1.7 linux-target.c
--- linux-target.c 9 May 2003 05:13:42 -0000 1.7
+++ linux-target.c 9 May 2003 21:48:43 -0000
@@ -2640,18 +2640,29 @@ mips_singlestep (struct gdbserv *serv, p
targ |= (insn.j_format.target << 2);
break;
- /* Some cop instructions are conditional... */
- case cop0_op:
+ /* Some cop1 instructions are conditional branches. */
case cop1_op:
+ if (insn.i_format.rs == bc_op
+ || insn.i_format.rs == bc_op + 1 /* e.g, BC1ANY2 on MIPS-3D */
+ || insn.i_format.rs == bc_op + 2 /* e.g, BC1ANY4 on MIPS-3D */)
+ {
+ is_branch = is_cond = 1;
+ targ += 4 + (insn.i_format.simmediate << 2);
+ }
+ break;
+
+ /* Some cop2 instructions are conditional branches. */
case cop2_op:
- if (insn.i_format.rs != bc_op)
- break;
- else
- ; /* fall through... */
+ /* MIPS32 Architecture For Programmers Volume II, rev 1.90 documents
+ bc2f, bc2fl, bc2t, and bc2tl. */
+ if (insn.i_format.rs == bc_op)
+ {
+ is_branch = is_cond = 1;
+ targ += 4 + (insn.i_format.simmediate << 2);
+ }
+ break;
- /*
- * These are conditional.
- */
+ /* Other conditional branches... */
case beq_op:
case beql_op:
case bne_op:
@@ -2660,7 +2671,6 @@ mips_singlestep (struct gdbserv *serv, p
case blezl_op:
case bgtz_op:
case bgtzl_op:
- case cop1x_op:
is_branch = is_cond = 1;
targ += 4 + (insn.i_format.simmediate << 2);
break;
reply other threads:[~2003-05-09 22:12 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1030509221200.ZM25523@localhost.localdomain \
--to=kevinb@redhat.com \
--cc=rda@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).