[PATCH 1/5] Share 'enum target_hw_bp_type' in GDB and GDBserver.

Yao Qi
2013-06-29T03:11:12Z

Hi,
'enum target_hw_bp_type' has been used in both GDB and GDBserver. It
will be used in MIPS hardware watchpoint support too. This patch
is to share 'enum target_hw_bp_type' in common/break-common.h.

gdb:

2013-06-29 Yao Qi <yao@codesourcery.com>

* breakpoint.h: Include break-common.h.
(enum target_hw_bp_type): Move to ...
* common/break-common.h: ... here. New.

gdb/gdbserver:

2013-06-29 Yao Qi <yao@codesourcery.com>

* i386-low.c: Include break-common.h.
(enum target_hw_bp_type): Remove.
---
gdb/breakpoint.h | 10 +---------
gdb/common/break-common.h | 30 ++++++++++++++++++++++++++++++
gdb/gdbserver/i386-low.c | 9 +--------
3 files changed, 32 insertions(+), 17 deletions(-)
create mode 100644 gdb/common/break-common.h

diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 19961fe..c82bc71 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -24,6 +24,7 @@
#include "vec.h"
#include "ax.h"
#include "command.h"
+#include "break-common.h"

struct value;
struct block;
@@ -215,15 +216,6 @@ enum bpdisp
disp_donttouch /* Leave it alone */
};

-enum target_hw_bp_type
- {
- hw_write = 0, /* Common HW watchpoint */
- hw_read = 1, /* Read HW watchpoint */
- hw_access = 2, /* Access HW watchpoint */
- hw_execute = 3 /* Execute HW breakpoint */
- };
-
-
/* Status of breakpoint conditions used when synchronizing
conditions with the target. */

diff --git a/gdb/common/break-common.h b/gdb/common/break-common.h
new file mode 100644
index 0000000..16ed0e2
--- /dev/null
+++ b/gdb/common/break-common.h
@@ -0,0 +1,30 @@
+/* Data structures associated with breakpoints shared in both GDB and
+ GDBserver.
+ Copyright (C) 1992-2013 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef BREAK_COMMON_H
+#define BREAK_COMMON_H 1
+
+enum target_hw_bp_type
+ {
+ hw_write = 0, /* Common HW watchpoint */
+ hw_read = 1, /* Read HW watchpoint */
+ hw_access = 2, /* Access HW watchpoint */
+ hw_execute = 3 /* Execute HW breakpoint */
+ };
+
+#endif
diff --git a/gdb/gdbserver/i386-low.c b/gdb/gdbserver/i386-low.c
index 86ec5d8..4eacda0 100644
--- a/gdb/gdbserver/i386-low.c
+++ b/gdb/gdbserver/i386-low.c
@@ -20,6 +20,7 @@
#include "server.h"
#include "target.h"
#include "i386-low.h"
+#include "break-common.h"

/* Support for 8-byte wide hw watchpoints. */
#ifndef TARGET_HAS_DR_LEN_8
@@ -27,14 +28,6 @@
#define TARGET_HAS_DR_LEN_8 (sizeof (void *) == 8)
#endif

-enum target_hw_bp_type
- {
- hw_write = 0, /* Common HW watchpoint */
- hw_read = 1, /* Read HW watchpoint */
- hw_access = 2, /* Access HW watchpoint */
- hw_execute = 3 /* Execute HW breakpoint */
- };
-
/* DR7 Debug Control register fields. */

/* How many bits to skip in DR7 to get to R/W and LEN fields. */
--
1.7.7.6