Hi,
I am meeting a problem that orig_r0 is overwritten by gdbserver(gdb 6.3)
on ARM.
It is because store_register/store_regs (in arm-linux-nat.c) set
register with ptrace(PTRACE_SETREGS ...)
But as orig_r0 is not mapped by gdbserver, it will be overwritten.
This lost of orig_r0 will prevent the interrupted system call from being
restarted.
I am new to gdbserver, so not sure whether this patch is correct,
arm-linux-nat.c:
-#define arm_num_regs 26
+#define arm_num_regs 27
static int arm_regmap[] = {
0, 4, 8, 12, 16, 20, 24, 28,
32, 36, 40, 44, 48, 52, 56, 60,
-1, -1, -1, -1, -1, -1, -1, -1, -1,
- 64
+ 64, 68
};
Thanks,
Tom
_______________________________________________
bug-gdb mailing list
bug-gdb@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gdb