* MIPS/Linux: Single-stepping running away
@ 2004-10-07 17:12 Maciej W. Rozycki
2004-10-07 17:15 ` Daniel Jacobowitz
0 siblings, 1 reply; 2+ messages in thread
From: Maciej W. Rozycki @ 2004-10-07 17:12 UTC (permalink / raw)
To: gdb-patches; +Cc: Nigel Stephens, Maciej W. Rozycki
Hello,
I've found two bugs in gdb that lead to single-stepping over branches
failing under specific conditions -- the code tests register numbers
instead of their values for a few variants of branches. Here is an
obvious fix. It applies against the head.
2004-10-07 Maciej W. Rozycki <macro@mips.com>
* mips-tdep.c (mips32_next_pc): Check the register's contents,
not its number for BLEZ/BLEZL and BGTZ/BGTZL.
Please apply.
Maciej
gdb-mips32_next_pc.patch
diff -up --recursive --new-file src.macro/gdb/mips-tdep.c src/gdb/mips-tdep.c
--- src.macro/gdb/mips-tdep.c 2004-09-28 14:04:51.000000000 +0000
+++ src/gdb/mips-tdep.c 2004-10-07 16:26:14.000000000 +0000
@@ -1273,7 +1273,7 @@ mips32_next_pc (CORE_ADDR pc)
pc += 8;
break;
case 6: /* BLEZ, BLEZL */
- if (read_signed_register (itype_rs (inst) <= 0))
+ if (read_signed_register (itype_rs (inst)) <= 0)
pc += mips32_relative_offset (inst) + 4;
else
pc += 8;
@@ -1281,7 +1281,7 @@ mips32_next_pc (CORE_ADDR pc)
case 7:
default:
greater_branch: /* BGTZ, BGTZL */
- if (read_signed_register (itype_rs (inst) > 0))
+ if (read_signed_register (itype_rs (inst)) > 0)
pc += mips32_relative_offset (inst) + 4;
else
pc += 8;
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: MIPS/Linux: Single-stepping running away
2004-10-07 17:12 MIPS/Linux: Single-stepping running away Maciej W. Rozycki
@ 2004-10-07 17:15 ` Daniel Jacobowitz
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Jacobowitz @ 2004-10-07 17:15 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, Nigel Stephens, Maciej W. Rozycki
On Thu, Oct 07, 2004 at 06:12:10PM +0100, Maciej W. Rozycki wrote:
> Hello,
>
> I've found two bugs in gdb that lead to single-stepping over branches
> failing under specific conditions -- the code tests register numbers
> instead of their values for a few variants of branches. Here is an
> obvious fix. It applies against the head.
>
> 2004-10-07 Maciej W. Rozycki <macro@mips.com>
>
> * mips-tdep.c (mips32_next_pc): Check the register's contents,
> not its number for BLEZ/BLEZL and BGTZ/BGTZL.
>
> Please apply.
I made the foolish mistake of mixing this fix into some larger MIPS
unwinder changes many months ago, which I've never had time to
disentangle. Sorry 'bout that.
This patch is indeed obvious; I'll check it in for you.
--
Daniel Jacobowitz
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-10-07 17:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-07 17:12 MIPS/Linux: Single-stepping running away Maciej W. Rozycki
2004-10-07 17:15 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox