diff options
author | Jeff Law <law@redhat.com> | 1996-03-04 21:50:10 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1996-03-04 21:50:10 +0000 |
commit | 11be829fa134e93be9c6f1f41afead451b9c06d6 (patch) | |
tree | d19618c2e172d8d84e98db09258b41aade4af9cb /gdb/infrun.c | |
parent | 421e2c270e512c5f812197fc2da3215279c8b932 (diff) | |
download | gdb-11be829fa134e93be9c6f1f41afead451b9c06d6.zip gdb-11be829fa134e93be9c6f1f41afead451b9c06d6.tar.gz gdb-11be829fa134e93be9c6f1f41afead451b9c06d6.tar.bz2 |
* From Peter Schauer:
* infrun.c (wait_for_inferior): Remove breakpoints and
switch terminal settings before calling SOLIB_ADD.
* solib.c (enable_break, SVR4 variant): Don't map in symbols
for the dynamic linker, the namespace pollution causes real
problems.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 19ff2d3..623e1da 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1042,7 +1042,19 @@ wait_for_inferior () /* Check for any newly added shared libraries if we're supposed to be adding them automatically. */ if (auto_solib_add) - SOLIB_ADD (NULL, 0, NULL); + { + /* 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); + target_terminal_inferior (); + } /* If requested, stop when the dynamic linker notifies gdb of events. This allows the user to get control @@ -1658,7 +1670,9 @@ Further execution is probably impossible.\n"); target_terminal_ours (); - if (stop_bpstat && stop_bpstat->breakpoint_at->type == bp_shlib_event) + if (stop_bpstat + && stop_bpstat->breakpoint_at + && stop_bpstat->breakpoint_at->type == bp_shlib_event) printf_filtered ("Stopped due to shared library event\n"); /* Look up the hook_stop and run it if it exists. */ |