b89667ebd4
caller_state. (dummy_frame_push): Replace caller_regcache arg with caller_state. All callers updated. (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns. (dummy_frame_pop): Rewrite. Verify requested frame is in the dummy frame stack. Restore program state. (cleanup_dummy_frames): Rewrite. (dummy_frame_sniffer): Update. Make static. * dummy-frame.h (regcache,frame_info): Delete forward decls. (inferior_thread_state): New forward decl. (dummy_frame_push): Update prototype. * frame.c (frame_pop): dummy_frame_pop now does all the work for DUMMY_FRAMEs. * infcall.c (breakpoint_auto_delete_contents): Delete. (get_function_name,run_inferior_call): New fns. (call_function_by_hand): Simplify by moving some code to get_function_name, run_inferior_call. Inferior function call wrapped in TRY_CATCH so there's less need for cleanups and all exits from proceed are handled similarily. Detect program exit. Detect program stopping in a different thread. Make error messages more consistent. * inferior.h (inferior_thread_state): Declare (opaque type). (save_inferior_thread_state,restore_inferior_thread_state, make_cleanup_restore_inferior_thread_state, discard_inferior_thread_state, get_inferior_thread_state_regcache): Declare. (save_inferior_status): Update prototype. * infrun.c: (normal_stop): When stopped for the completion of an inferior function call, verify the expected stack frame kind. (inferior_thread_state): New struct. (save_inferior_thread_state,restore_inferior_thread_state, do_restore_inferior_thread_state_cleanup, make_cleanup_restore_inferior_thread_state, discard_inferior_thread_state, get_inferior_thread_state_regcache): New functions. (inferior_status): Move stop_signal, stop_pc, registers to inferior_thread_state. Remove restore_stack_info. (save_inferior_status): Remove arg restore_stack_info. All callers updated. Remove saving of state now saved by save_inferior_thread_state. (restore_inferior_status): Remove restoration of state now done by restore_inferior_thread_state. (discard_inferior_status): Remove freeing of registers, now done by discard_inferior_thread_state. * gdb.base/break.exp: Update expected gdb output. * gdb.base/sepdebug.exp: Ditto. * gdb.mi/mi-syn-frame.exp: Ditto. * gdb.mi/mi2-syn-frame.exp: Ditto. * gdb.base/call-signal-resume.exp: New file. * gdb.base/call-signals.c: New file. * gdb.base/unwindonsignal.exp: New file. * gdb.base/unwindonsignal.c: New file. * gdb.threads/interrupted-hand-call.exp: New file. * gdb.threads/interrupted-hand-call.c: New file. * gdb.threads/thread-unwindonsignal.exp: New file. |
||
---|---|---|
.. | ||
array.f | ||
basics.c | ||
ChangeLog-1999-2003 | ||
gdb669.exp | ||
gdb680.exp | ||
gdb701.c | ||
gdb701.exp | ||
gdb792.cc | ||
gdb792.exp | ||
gdb2549.exp | ||
Makefile.in | ||
mi-async.exp | ||
mi-basics.exp | ||
mi-break.exp | ||
mi-cli.exp | ||
mi-console.c | ||
mi-console.exp | ||
mi-disassemble.exp | ||
mi-eval.exp | ||
mi-file-transfer.exp | ||
mi-file.exp | ||
mi-hack-cli.exp | ||
mi-nonstop.exp | ||
mi-nsintrall.exp | ||
mi-nsmoribund.exp | ||
mi-pending.c | ||
mi-pending.exp | ||
mi-pendshr.c | ||
mi-pthreads.exp | ||
mi-read-memory.c | ||
mi-read-memory.exp | ||
mi-regs.exp | ||
mi-return.exp | ||
mi-simplerun.exp | ||
mi-stack.c | ||
mi-stack.exp | ||
mi-stepi.exp | ||
mi-syn-frame.c | ||
mi-syn-frame.exp | ||
mi-until.exp | ||
mi-var-block.exp | ||
mi-var-child-f.exp | ||
mi-var-child.c | ||
mi-var-child.exp | ||
mi-var-cmd.exp | ||
mi-var-cp.cc | ||
mi-var-cp.exp | ||
mi-var-display.exp | ||
mi-var-invalidate.exp | ||
mi-watch.exp | ||
mi2-basics.exp | ||
mi2-break.exp | ||
mi2-cli.exp | ||
mi2-console.exp | ||
mi2-disassemble.exp | ||
mi2-eval.exp | ||
mi2-file.exp | ||
mi2-hack-cli.exp | ||
mi2-pthreads.exp | ||
mi2-read-memory.exp | ||
mi2-regs.exp | ||
mi2-return.exp | ||
mi2-simplerun.exp | ||
mi2-stack.exp | ||
mi2-stepi.exp | ||
mi2-syn-frame.exp | ||
mi2-until.exp | ||
mi2-var-block.exp | ||
mi2-var-child.exp | ||
mi2-var-cmd.exp | ||
mi2-var-display.exp | ||
mi2-watch.exp | ||
non-stop.c | ||
nsintrall.c | ||
nsmoribund.c | ||
pthreads.c | ||
testcmds | ||
until.c | ||
var-cmd.c |