aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2009-05-19 00:23:49 +0000
committerPedro Alves <palves@redhat.com>2009-05-19 00:23:49 +0000
commit2567c7d9ccb27053278c7bca0c911a817ab21b47 (patch)
tree225747d5d6ad2a1c4983155875dcc6437bb527e9 /gdb/gdbarch.c
parent7b6175f9c6195432011dc348479a3b05859bad2b (diff)
downloadgdb-2567c7d9ccb27053278c7bca0c911a817ab21b47.zip
gdb-2567c7d9ccb27053278c7bca0c911a817ab21b47.tar.gz
gdb-2567c7d9ccb27053278c7bca0c911a817ab21b47.tar.bz2
* breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
(update_global_location_list): Use gdbarch_has_global_breakpoints instead of gdbarch_has_global_solist and target_supports_multi_process. * dicos-tdep.c (dicos_init_abi): Set gdbarch_has_global_breakpoints. * gdbarch.sh (has_global_solist): Update comment. (has_global_breakpoints): New. * remote.c (remote_start_remote): Use gdbarch_has_global_breakpoints instead of gdbarch_has_global_solist. * target.c (target_detach): Use gdbarch_has_global_breakpoints instead of gdbarch_has_global_solist. * infcmd.c (attach_command): Use gdbarch_has_global_solist instead of target_supports_multi_process.
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r--gdb/gdbarch.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index cc13715..0f0edd4 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -245,6 +245,7 @@ struct gdbarch
gdbarch_get_siginfo_type_ftype *get_siginfo_type;
gdbarch_record_special_symbol_ftype *record_special_symbol;
int has_global_solist;
+ int has_global_breakpoints;
};
@@ -381,6 +382,7 @@ struct gdbarch startup_gdbarch =
0, /* get_siginfo_type */
0, /* record_special_symbol */
0, /* has_global_solist */
+ 0, /* has_global_breakpoints */
/* startup_gdbarch() */
};
@@ -638,6 +640,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
/* Skip verify of get_siginfo_type, has predicate */
/* Skip verify of record_special_symbol, has predicate */
/* Skip verify of has_global_solist, invalid_p == 0 */
+ /* Skip verify of has_global_breakpoints, invalid_p == 0 */
buf = ui_file_xstrdup (log, &dummy);
make_cleanup (xfree, buf);
if (strlen (buf) > 0)
@@ -862,6 +865,9 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: get_siginfo_type = <%s>\n",
host_address_to_string (gdbarch->get_siginfo_type));
fprintf_unfiltered (file,
+ "gdbarch_dump: has_global_breakpoints = %s\n",
+ plongest (gdbarch->has_global_breakpoints));
+ fprintf_unfiltered (file,
"gdbarch_dump: has_global_solist = %s\n",
plongest (gdbarch->has_global_solist));
fprintf_unfiltered (file,
@@ -3382,6 +3388,23 @@ set_gdbarch_has_global_solist (struct gdbarch *gdbarch,
gdbarch->has_global_solist = has_global_solist;
}
+int
+gdbarch_has_global_breakpoints (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ /* Skip verify of has_global_breakpoints, invalid_p == 0 */
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_has_global_breakpoints called\n");
+ return gdbarch->has_global_breakpoints;
+}
+
+void
+set_gdbarch_has_global_breakpoints (struct gdbarch *gdbarch,
+ int has_global_breakpoints)
+{
+ gdbarch->has_global_breakpoints = has_global_breakpoints;
+}
+
/* Keep a registry of per-architecture data-pointers required by GDB
modules. */