This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]