This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
mips gdbserver reports R0 != 0
- From: Atsushi Nemoto <anemo at mba dot ocn dot ne dot jp>
- To: gdb-patches at sources dot redhat dot com
- Date: Tue, 27 Jan 2004 19:37:15 +0900 (JST)
- Subject: mips gdbserver reports R0 != 0
When I run gdbserver with multi-thread programs on Linux/MIPS, I
noticed sometimes 'step' or 'next' do not work correctly. I found
that a value of R0 register in 'info reg' output was not 0
(0x30303030) when this problem happen.
> (gdb) c
> Continuing.
> [New Thread 1026]
> [Switching to Thread 1026]
>
> Breakpoint 2, function1 (arg=0x0) at next.c:30
> 30 if (func1() == 0) {
> (gdb) info reg
> zero at v0 v1 a0 a1 a2 a3
> R0 30303030 30048401 004009c8 00000001 00000000 00000000 7f7ffd28 00000000
I could not see the reason (maybe regcache?), but this patch fixed my
problem.
--- gdb-6.0/gdb/gdbserver/linux-mips-low.c.org Wed Jun 12 02:32:39 2002
+++ gdb-6.0/gdb/gdbserver/linux-mips-low.c Tue Jan 27 19:31:58 2004
@@ -69,9 +69,6 @@
if (mips_regmap[regno] == -1)
return 1;
- if (find_regno ("zero") == regno)
- return 1;
-
return 0;
}
---
Atsushi Nemoto