+2003-01-22 Kevin Buettner <kevinb@redhat.com>
+
+ * linux-target.c (struct peekuser_pokeuser_reginfo)
+ [MIPS64_LINUX_TARGET, MIPS_LINUX_TARGET]: Disable registers ``cause''
+ and ``bad'' since they are not writable via ptrace().
+
+2003-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * linux-target.c: Don't assume asm-mips/ is available, use just
+ asm instead.
+
2003-01-17 Kevin Buettner <kevinb@redhat.com>
* configure.in (mips64*linux*n64, mips64*linux*n32, mips64*linux*o32):
#if !defined(_MIPSEL) && !defined(_MIPSEB)
#include <stdint.h>
#else
-#include <asm-mips/inst.h>
+#include <asm/inst.h>
#endif
#include <sys/ptrace.h>
asm-mips/reg.h. Note, however, that the kernel header sandwiches
the status register (sr, above) in between ``bad'' and ``cause''. */
+#if 0
+ /* CAUSE and BADVADDR are readable via ptrace, but they're not writable. */
{ BADVADDR, 4, GREGS, 35 * 4, 4, PROTO_SIZE }, /* bad */
{ CAUSE, 4, GREGS, 36 * 4, 4, PROTO_SIZE }, /* cause */
+#else
+ { 0, 8, NOREGS, 0, 8, 8 }, /* bad */
+ { 0, 8, NOREGS, 0, 8, 8 }, /* cause */
+#endif
{ PC, 4, GREGS, 34 * 4, 4, PROTO_SIZE }, /* pc */
/* Linux/MIPS floating point is a bit of a mess. On the one hand,
asm-mips/reg.h. Note, however, that the kernel header sandwiches
the status register (sr, above) in between ``bad'' and ``cause''. */
+#if 0
+ /* CAUSE and BADVADDR are readable via ptrace, but they're not writable. */
{ 66, 8, GREGS, 35 * 4, 8, 8 }, /* bad */
{ 65, 8, GREGS, 36 * 4, 8, 8 }, /* cause */
+#else
+ { 0, 8, NOREGS, 0, 8, 8 }, /* bad */
+ { 0, 8, NOREGS, 0, 8, 8 }, /* cause */
+#endif
{ 64, 8, GREGS, 34 * 4, 8, 8 }, /* pc */
/* Linux/MIPS floating point is a bit of a mess. On the one hand,