diff options
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/blockframe.c | 7 | ||||
-rw-r--r-- | gdb/infrun.c | 6 |
3 files changed, 17 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b141b95..126f738 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +Thu Oct 7 12:56:57 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * blockframe.c (find_pc_partial_function): If we call + PSYMTAB_TO_SYMTAB, call target_terminal_ours_for_output first. + This is needed now that wait_for_inferior passes in endaddr. + * infrun.c: Move call to target_terminal_inferior from proceed + to resume. + Thu Oct 7 09:22:04 1993 Stu Grossman (grossman at cygnus.com) * blockframe.c (find_pc_partial_function): Fix handling for PCs diff --git a/gdb/blockframe.c b/gdb/blockframe.c index 0d0e89a..71c9057 100644 --- a/gdb/blockframe.c +++ b/gdb/blockframe.c @@ -648,7 +648,12 @@ find_pc_partial_function (pc, name, address, endaddr) { /* Need to read the symbols to get a good value for the end address. */ if (endaddr != NULL && !pst->readin) - PSYMTAB_TO_SYMTAB (pst); + { + /* Need to get the terminal in case symbol-reading produces + output. */ + target_terminal_ours_for_output (); + PSYMTAB_TO_SYMTAB (pst); + } if (pst->readin) { diff --git a/gdb/infrun.c b/gdb/infrun.c index d539ddd..84ccf93 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -303,6 +303,9 @@ resume (step, sig) DO_DEFERRED_STORES; #endif + /* Install inferior's terminal modes. */ + target_terminal_inferior (); + target_resume (inferior_pid, step, sig); discard_cleanups (old_cleanups); } @@ -391,9 +394,6 @@ The same program may be running in another process."); breakpoints_inserted = 1; } - /* Install inferior's terminal modes. */ - target_terminal_inferior (); - if (siggnal >= 0) stop_signal = siggnal; /* If this signal should not be seen by program, |