diff options
author | Jeff Law <law@redhat.com> | 1996-03-27 15:35:16 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1996-03-27 15:35:16 +0000 |
commit | fa3764e2bf768b96b766f2a248e25245e1621f3d (patch) | |
tree | 31b4cbe3c87d642ae91f404051ba80c6fcb29ae1 /gdb/infrun.c | |
parent | e871dd189e1b37d28064dc33443c1dc00b1d1710 (diff) | |
download | gdb-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.c | 15 |
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; } } |