diff options
author | Yao Qi <yao@codesourcery.com> | 2013-07-27 07:27:18 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2013-07-27 07:27:18 +0000 |
commit | 9be14b813c84650777a0572632a677ada8bfda0b (patch) | |
tree | ea1b591dd263de36eff5dd150910f68db26951e0 | |
parent | de6f69ad33e8330582d48b4410521d8998c0c882 (diff) | |
download | gdb-9be14b813c84650777a0572632a677ada8bfda0b.zip gdb-9be14b813c84650777a0572632a677ada8bfda0b.tar.gz gdb-9be14b813c84650777a0572632a677ada8bfda0b.tar.bz2 |
gdb/
* 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.
-rw-r--r-- | gdb/ChangeLog | 13 | ||||
-rw-r--r-- | gdb/mips-linux-nat.c | 34 |
2 files changed, 31 insertions, 16 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 94d5c12..6350b53 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,18 @@ 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. (enum target_hw_bp_type): Move to ... * common/break-common.h: ... here. New. diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c index d323a82..63cc140 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -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. |