aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/infrun.c1
-rw-r--r--gdb/monitor.c2
-rw-r--r--gdb/remote.c11
4 files changed, 19 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b2ff7ff..e17e370 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2011-06-23 Yao Qi <yao@codesourcery.com>
+
+ * infrun.c (start_remote): Move call init_wait_for_inferior to ...
+ * remote.c (remote_start_remote): ... here.
+ * monitor.c (monitor_open): ... here.
+
2011-06-23 Andrew Burgess <aburgess@broadcom.com>
* gdbtypes.c (append_composite_type_field_aligned): Fix
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 8616f99..a656cbf 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2246,7 +2246,6 @@ start_remote (int from_tty)
{
struct inferior *inferior;
- init_wait_for_inferior ();
inferior = current_inferior ();
inferior->control.stop_soon = STOP_QUIETLY_REMOTE;
diff --git a/gdb/monitor.c b/gdb/monitor.c
index 79fa1ba..90f36d9 100644
--- a/gdb/monitor.c
+++ b/gdb/monitor.c
@@ -844,6 +844,8 @@ monitor_open (char *args, struct monitor_ops *mon_ops, int from_tty)
monitor_printf (current_monitor->line_term);
+ init_wait_for_inferior ();
+
start_remote (from_tty);
}
diff --git a/gdb/remote.c b/gdb/remote.c
index 8cdf79e..19cc0b6 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -3280,6 +3280,17 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p)
/* Always add the main thread. */
add_thread_silent (inferior_ptid);
+ /* init_wait_for_inferior should be called before get_offsets in order
+ to manage `inserted' flag in bp loc in a correct state.
+ breakpoint_init_inferior, called from init_wait_for_inferior, set
+ `inserted' flag to 0, while before breakpoint_re_set, called from
+ start_remote, set `inserted' flag to 1. In the initialization of
+ inferior, breakpoint_init_inferior should be called first, and then
+ breakpoint_re_set can be called. If this order is broken, state of
+ `inserted' flag is wrong, and cause some problems on breakpoint
+ manipulation. */
+ init_wait_for_inferior ();
+
get_offsets (); /* Get text, data & bss offsets. */
/* If we could not find a description using qXfer, and we know