gdb/
authorYao Qi <yao@codesourcery.com>
Sat, 27 Jul 2013 07:27:18 +0000 (07:27 +0000)
committerYao Qi <yao@codesourcery.com>
Sat, 27 Jul 2013 07:27:18 +0000 (07:27 +0000)
* mips-linux-nat.c (MAX_DEBUG_REGISTER): Move it earlier in
the code.
(PTRACE_SET_WATCH_REGS, enum pt_watch_style): Remove.
(struct mips32_watch_regs, struct mips64_watch_regs): Remove.
(struct pt_watch_regs): Likewise.
[!PTRACE_GET_WATCH_REGS] (PTRACE_SET_WATCH_REGS): New macro.
[!PTRACE_GET_WATCH_REGS] (enum pt_watch_style): New.
[!PTRACE_GET_WATCH_REGS] (struct mips32_watch_regs): New.
[!PTRACE_GET_WATCH_REGS] (struct mips64_watch_regs): New.
[!PTRACE_GET_WATCH_REGS] (struct pt_watch_regs): New.

gdb/ChangeLog
gdb/mips-linux-nat.c

index 94d5c12ced30fd12aace93464ebef10db05706a8..6350b5396165d3a22e003c209a6e986152fce8de 100644 (file)
@@ -1,3 +1,16 @@
+2013-07-27  Yao Qi  <yao@codesourcery.com>
+
+       * mips-linux-nat.c (MAX_DEBUG_REGISTER): Move it earlier in
+       the code.
+       (PTRACE_SET_WATCH_REGS, enum pt_watch_style): Remove.
+       (struct mips32_watch_regs, struct mips64_watch_regs): Remove.
+       (struct pt_watch_regs): Likewise.
+       [!PTRACE_GET_WATCH_REGS] (PTRACE_SET_WATCH_REGS): New macro.
+       [!PTRACE_GET_WATCH_REGS] (enum pt_watch_style): New.
+       [!PTRACE_GET_WATCH_REGS] (struct mips32_watch_regs): New.
+       [!PTRACE_GET_WATCH_REGS] (struct mips64_watch_regs): New.
+       [!PTRACE_GET_WATCH_REGS] (struct pt_watch_regs): New.
+
 2013-07-27  Yao Qi  <yao@codesourcery.com>
 
        * breakpoint.h: Include break-common.h.
index d323a82a24b182d1863e1c67919cb7476e12e52a..63cc14075588995d2a93a5e27b031d49474e88f3 100644 (file)
@@ -34,6 +34,7 @@
 
 #include <sgidefs.h>
 #include <sys/ptrace.h>
+#include <asm/ptrace.h>
 
 #include "features/mips-linux.c"
 #include "features/mips-dsp-linux.c"
@@ -460,31 +461,20 @@ mips_linux_read_description (struct target_ops *ops)
     return have_dsp ? tdesc_mips64_dsp_linux : tdesc_mips64_linux;
 }
 
+#define MAX_DEBUG_REGISTER 8
+
+/* If macro PTRACE_GET_WATCH_REGS is not defined, kernel header doesn't
+   have hardware watchpoint-related structures.  Define them below.  */
+
 #ifndef PTRACE_GET_WATCH_REGS
 #  define PTRACE_GET_WATCH_REGS        0xd0
-#endif
-
-#ifndef PTRACE_SET_WATCH_REGS
 #  define PTRACE_SET_WATCH_REGS        0xd1
-#endif
-
-#define W_BIT 0
-#define R_BIT 1
-#define I_BIT 2
-
-#define W_MASK (1 << W_BIT)
-#define R_MASK (1 << R_BIT)
-#define I_MASK (1 << I_BIT)
-
-#define IRW_MASK (I_MASK | R_MASK | W_MASK)
 
 enum pt_watch_style {
   pt_watch_style_mips32,
   pt_watch_style_mips64
 };
 
-#define MAX_DEBUG_REGISTER 8
-
 /* A value of zero in a watchlo indicates that it is available.  */
 
 struct mips32_watch_regs
@@ -524,6 +514,18 @@ struct pt_watch_regs
   };
 };
 
+#endif /* !PTRACE_GET_WATCH_REGS */
+
+#define W_BIT 0
+#define R_BIT 1
+#define I_BIT 2
+
+#define W_MASK (1 << W_BIT)
+#define R_MASK (1 << R_BIT)
+#define I_MASK (1 << I_BIT)
+
+#define IRW_MASK (I_MASK | R_MASK | W_MASK)
+
 /* -1 if the kernel and/or CPU do not support watch registers.
     1 if watch_readback is valid and we can read style, num_valid
       and the masks.