diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/infrun.c | 1 | ||||
-rw-r--r-- | gdb/monitor.c | 2 | ||||
-rw-r--r-- | gdb/remote.c | 11 |
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 |