* 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.
This commit is contained in:
Yao Qi 2013-07-27 07:27:18 +00:00
parent de6f69ad33
commit 9be14b813c
2 changed files with 31 additions and 16 deletions

View 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.

View 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.