aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-03-27 15:35:16 +0000
committerJeff Law <law@redhat.com>1996-03-27 15:35:16 +0000
commitfa3764e2bf768b96b766f2a248e25245e1621f3d (patch)
tree31b4cbe3c87d642ae91f404051ba80c6fcb29ae1 /gdb/infrun.c
parente871dd189e1b37d28064dc33443c1dc00b1d1710 (diff)
downloadgdb-fa3764e2bf768b96b766f2a248e25245e1621f3d.zip
gdb-fa3764e2bf768b96b766f2a248e25245e1621f3d.tar.gz
gdb-fa3764e2bf768b96b766f2a248e25245e1621f3d.tar.bz2
* From Peter Schauer.
* breakpoint.c (breakpoint_re_set_one): Keep temporary breakpoints bp_until, bp_finish, bp_watchpoint_cope, bp_call_dummy and bp_step_resume in case breakpoint_re_set_one is called due to a step over a dlopen call. * infrun.c (wait_for_inferior): Always remove breakpoints from inferior in BPSTAT_WHAT_CHECK_SHLIBS case.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 623e1da..3a68e34 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -1039,20 +1039,22 @@ wait_for_inferior ()
{
extern int auto_solib_add;
+ /* Remove breakpoints, we eventually want to step over the
+ shlib event breakpoint, and SOLIB_ADD might adjust
+ breakpoint addresses via breakpoint_re_set. */
+ if (breakpoints_inserted)
+ remove_breakpoints ();
+ breakpoints_inserted = 0;
+
/* Check for any newly added shared libraries if we're
supposed to be adding them automatically. */
if (auto_solib_add)
{
- /* Remove breakpoints, SOLIB_ADD might adjust breakpoint
- addresses via breakpoint_re_set. */
- if (breakpoints_inserted)
- remove_breakpoints ();
- breakpoints_inserted = 0;
-
/* Switch terminal for any messages produced by
breakpoint_re_set. */
target_terminal_ours_for_output ();
SOLIB_ADD (NULL, 0, NULL);
+ re_enable_breakpoints_in_shlibs ();
target_terminal_inferior ();
}
@@ -1069,7 +1071,6 @@ wait_for_inferior ()
{
/* We want to step over this breakpoint, then keep going. */
another_trap = 1;
- remove_breakpoints_on_following_step = 1;
break;
}
}