From c0236d928fd56059640cea71aac43313b5f8889c Mon Sep 17 00:00:00 2001 From: Elena Zannoni Date: Tue, 8 Apr 2003 19:21:15 +0000 Subject: [PATCH] 2003-04-08 Elena Zannoni * infrun.c (stop_soon): Rename from stop_soon_quietly. (struct inferior_status): Rename stop_soon_quietly field to stop_soon. (clear_proceed_status): Rename stop_soon_quietly to stop_soon. (start_remote): Ditto. (handle_inferior_event): Ditto. (save_inferior_status): Ditto. (restore_inferior_status): Ditto. * infcmd.c (attach_command): Ditto. * fork-child.c (startup_inferior): Ditto. * inferior.h (stop_soon): Rename from stop_soon_quietly. * alpha-tdep.c (heuristic_proc_start): Ditto. * mips-tdep.c (heuristic_proc_start): Ditto. * solib-svr4.c (svr4_solib_create_inferior_hook): Ditto. * solib-sunos.c (sunos_solib_create_inferior_hook): Ditto. * solib-osf.c (osf_solib_create_inferior_hook): Ditto. * solib-irix.c (irix_solib_create_inferior_hook): Ditto. * remote-vx.c (vx_create_inferior): Ditto. --- gdb/ChangeLog | 42 ++++++++++++++++++++++++++++++++++++++++++ gdb/alpha-tdep.c | 4 ++-- gdb/fork-child.c | 4 ++-- gdb/infcmd.c | 4 ++-- gdb/inferior.h | 2 +- gdb/infrun.c | 22 +++++++++++----------- gdb/mips-tdep.c | 4 ++-- gdb/remote-vx.c | 6 +++--- gdb/solib-irix.c | 6 +++--- gdb/solib-osf.c | 6 +++--- gdb/solib-sunos.c | 4 ++-- gdb/solib-svr4.c | 4 ++-- 12 files changed, 75 insertions(+), 33 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 72ae7f6..c1ba5bb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,45 @@ +2003-04-08 Elena Zannoni + + * infrun.c (stop_soon): Rename from stop_soon_quietly. + (struct inferior_status): Rename stop_soon_quietly field to stop_soon. + (clear_proceed_status): Rename stop_soon_quietly to stop_soon. + (start_remote): Ditto. + (handle_inferior_event): Ditto. + (save_inferior_status): Ditto. + (restore_inferior_status): Ditto. + * infcmd.c (attach_command): Ditto. + * fork-child.c (startup_inferior): Ditto. + * inferior.h (stop_soon): Rename from stop_soon_quietly. + * alpha-tdep.c (heuristic_proc_start): Ditto. + * mips-tdep.c (heuristic_proc_start): Ditto. + * solib-svr4.c (svr4_solib_create_inferior_hook): Ditto. + * solib-sunos.c (sunos_solib_create_inferior_hook): Ditto. + * solib-osf.c (osf_solib_create_inferior_hook): Ditto. + * solib-irix.c (irix_solib_create_inferior_hook): Ditto. + * remote-vx.c (vx_create_inferior): Ditto. + +2003-04-08 Elena Zannoni + + * infrun.c (stop_soon_quietly): Make it an enum, to better + override the default behavior of handle_inferior_event. + (clear_proceed_status): Update uses of stop_soon_quietly to + reflect that it is now an enum. + (start_remote): Ditto. + (handle_inferior_event): Change logic a bit if stop_soon_quietly + is set to handle the new GNU/Linux kernel behavior for + attach/sigstop. Update uses of stop_soon_quietly. + * inferior.h (enum stop_kind): New enum. + * infcmd.c (attach_command): Use STOP_QUIETLY_NO_SIGSTOP. + Reset normal handle_inferior_event behavior, afterwards. + * fork-child.c (startup_inferior): Update. + * alpha-tdep.c (heuristic_proc_start): Update. + * solib-svr4.c (svr4_solib_create_inferior_hook): Update. + * solib-sunos.c (sunos_solib_create_inferior_hook): Update. + * solib-osf.c (osf_solib_create_inferior_hook): Update. + * solib-irix.c (irix_solib_create_inferior_hook): Update. + * remote-vx.c (vx_create_inferior): Update. + * mips-tdep.c (heuristic_proc_start): Update. + 2003-04-07 Elena Zannoni * disasm.c (dump_insns): Move variables inside loop, or they will diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index 7ef187f..fc61140 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -554,10 +554,10 @@ heuristic_proc_start (CORE_ADDR pc) if (start_pc < fence) { /* It's not clear to me why we reach this point when - stop_soon_quietly, but with this test, at least we + stop_soon, but with this test, at least we don't print out warnings for every child forked (eg, on decstation). 22apr93 rich@cygnus.com. */ - if (stop_soon_quietly == NO_STOP_QUIETLY) + if (stop_soon == NO_STOP_QUIETLY) { static int blurb_printed = 0; diff --git a/gdb/fork-child.c b/gdb/fork-child.c index 2ea56a3..1dc28e8 100644 --- a/gdb/fork-child.c +++ b/gdb/fork-child.c @@ -410,7 +410,7 @@ startup_inferior (int ntraps) while (1) { /* Make wait_for_inferior be quiet */ - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; wait_for_inferior (); if (stop_signal != TARGET_SIGNAL_TRAP) { @@ -445,5 +445,5 @@ startup_inferior (int ntraps) } } #endif /* STARTUP_INFERIOR */ - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; } diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 0c8b943..01ab3d7 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1914,9 +1914,9 @@ attach_command (char *args, int from_tty) don't ignore SIGSTOPs on continue requests anymore. We need a way for handle_inferior_event to reset the stop_signal variable after an attach, and this is what STOP_QUIETLY_NO_SIGSTOP is for. */ - stop_soon_quietly = STOP_QUIETLY_NO_SIGSTOP; + stop_soon = STOP_QUIETLY_NO_SIGSTOP; wait_for_inferior (); - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; #endif /* diff --git a/gdb/inferior.h b/gdb/inferior.h index 3488597..db0f4d9 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -420,7 +420,7 @@ enum stop_kind STOP_QUIETLY_NO_SIGSTOP }; -extern enum stop_kind stop_soon_quietly; +extern enum stop_kind stop_soon; /* Nonzero if proceed is being used for a "finish" command or a similar situation when stop_registers should be saved. */ diff --git a/gdb/infrun.c b/gdb/infrun.c index 92bbcdd..be6e092 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -286,7 +286,7 @@ int stop_after_trap; when running in the shell before the child program has been exec'd; and when running some kinds of remote stuff (FIXME?). */ -enum stop_kind stop_soon_quietly; +enum stop_kind stop_soon; /* Nonzero if proceed is being used for a "finish" command or a similar situation when stop_registers should be saved. */ @@ -659,7 +659,7 @@ clear_proceed_status (void) step_frame_id = null_frame_id; step_over_calls = STEP_OVER_UNDEBUGGABLE; stop_after_trap = 0; - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; proceed_to_finish = 0; breakpoint_proceeded = 1; /* We're about to proceed... */ @@ -802,7 +802,7 @@ start_remote (void) { init_thread_list (); init_wait_for_inferior (); - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; trap_expected = 0; /* Always go on waiting for the target, regardless of the mode. */ @@ -1258,7 +1258,7 @@ handle_inferior_event (struct execution_control_state *ecs) might be the shell which has just loaded some objects, otherwise add the symbols for the newly loaded objects. */ #ifdef SOLIB_ADD - if (stop_soon_quietly == NO_STOP_QUIETLY) + if (stop_soon == NO_STOP_QUIETLY) { /* Remove breakpoints, SOLIB_ADD might adjust breakpoint addresses via breakpoint_re_set. */ @@ -1758,8 +1758,8 @@ handle_inferior_event (struct execution_control_state *ecs) || (breakpoints_inserted && (stop_signal == TARGET_SIGNAL_ILL || stop_signal == TARGET_SIGNAL_EMT)) - || stop_soon_quietly == STOP_QUIETLY - || stop_soon_quietly == STOP_QUIETLY_NO_SIGSTOP) + || stop_soon == STOP_QUIETLY + || stop_soon == STOP_QUIETLY_NO_SIGSTOP) { if (stop_signal == TARGET_SIGNAL_TRAP && stop_after_trap) { @@ -1770,7 +1770,7 @@ handle_inferior_event (struct execution_control_state *ecs) /* This is originated from start_remote(), start_inferior() and shared libraries hook functions. */ - if (stop_soon_quietly == STOP_QUIETLY) + if (stop_soon == STOP_QUIETLY) { stop_stepping (ecs); return; @@ -1780,7 +1780,7 @@ handle_inferior_event (struct execution_control_state *ecs) the stop_signal here, because some kernels don't ignore a SIGSTOP in a subsequent ptrace(PTRACE_SONT,SOGSTOP) call. See more comments in inferior.h. */ - if (stop_soon_quietly == STOP_QUIETLY_NO_SIGSTOP) + if (stop_soon == STOP_QUIETLY_NO_SIGSTOP) { stop_stepping (ecs); if (stop_signal == TARGET_SIGNAL_STOP) @@ -3477,7 +3477,7 @@ struct inferior_status enum step_over_calls_kind step_over_calls; CORE_ADDR step_resume_break_address; int stop_after_trap; - int stop_soon_quietly; + int stop_soon; struct regcache *stop_registers; /* These are here because if call_function_by_hand has written some @@ -3523,7 +3523,7 @@ save_inferior_status (int restore_stack_info) inf_status->step_frame_id = step_frame_id; inf_status->step_over_calls = step_over_calls; inf_status->stop_after_trap = stop_after_trap; - inf_status->stop_soon_quietly = stop_soon_quietly; + inf_status->stop_soon = stop_soon; /* Save original bpstat chain here; replace it with copy of chain. If caller's caller is walking the chain, they'll be happier if we hand them back the original chain when restore_inferior_status is @@ -3577,7 +3577,7 @@ restore_inferior_status (struct inferior_status *inf_status) step_frame_id = inf_status->step_frame_id; step_over_calls = inf_status->step_over_calls; stop_after_trap = inf_status->stop_after_trap; - stop_soon_quietly = inf_status->stop_soon_quietly; + stop_soon = inf_status->stop_soon; bpstat_clear (&stop_bpstat); stop_bpstat = inf_status->stop_bpstat; breakpoint_proceeded = inf_status->breakpoint_proceeded; diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index a9ead5d..3e8339b 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -1818,10 +1818,10 @@ heuristic_proc_start (CORE_ADDR pc) if (start_pc < fence) { /* It's not clear to me why we reach this point when - stop_soon_quietly, but with this test, at least we + stop_soon, but with this test, at least we don't print out warnings for every child forked (eg, on decstation). 22apr93 rich@cygnus.com. */ - if (stop_soon_quietly == NO_STOP_QUIETLY) + if (stop_soon == NO_STOP_QUIETLY) { static int blurb_printed = 0; diff --git a/gdb/remote-vx.c b/gdb/remote-vx.c index 1d723f8..d9650e3 100644 --- a/gdb/remote-vx.c +++ b/gdb/remote-vx.c @@ -67,7 +67,7 @@ extern void vx_read_register (); extern void vx_write_register (); extern void symbol_file_command (); -extern enum stop_kind stop_soon_quietly; /* for wait_for_inferior */ +extern enum stop_kind stop_soon; /* for wait_for_inferior */ static int net_step (); static int net_ptrace_clnt_call (); /* Forward decl */ @@ -243,9 +243,9 @@ vx_create_inferior (char *exec_file, char *args, char **env) /* Install inferior's terminal modes. */ target_terminal_inferior (); - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; wait_for_inferior (); /* Get the task spawn event */ - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; /* insert_step_breakpoint (); FIXME, do we need this? */ proceed (-1, TARGET_SIGNAL_DEFAULT, 0); diff --git a/gdb/solib-irix.c b/gdb/solib-irix.c index 7d3bc9c..26a776f 100644 --- a/gdb/solib-irix.c +++ b/gdb/solib-irix.c @@ -436,7 +436,7 @@ irix_solib_create_inferior_hook (void) out what we need to know about them. */ clear_proceed_status (); - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; stop_signal = TARGET_SIGNAL_0; do { @@ -459,10 +459,10 @@ irix_solib_create_inferior_hook (void) But we are stopped in the startup code and we might not have symbols for the startup code, so heuristic_proc_start could be called and will put out an annoying warning. - Delaying the resetting of stop_soon_quietly until after symbol loading + Delaying the resetting of stop_soon until after symbol loading suppresses the warning. */ solib_add ((char *) 0, 0, (struct target_ops *) 0, auto_solib_add); - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; re_enable_breakpoints_in_shlibs (); } diff --git a/gdb/solib-osf.c b/gdb/solib-osf.c index 634d490..b5dca60 100644 --- a/gdb/solib-osf.c +++ b/gdb/solib-osf.c @@ -321,7 +321,7 @@ osf_solib_create_inferior_hook (void) out what we need to know about them. */ clear_proceed_status (); - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; stop_signal = TARGET_SIGNAL_0; do { @@ -334,10 +334,10 @@ osf_solib_create_inferior_hook (void) But we are stopped in the runtime loader and we do not have symbols for the runtime loader. So heuristic_proc_start will be called and will put out an annoying warning. - Delaying the resetting of stop_soon_quietly until after symbol loading + Delaying the resetting of stop_soon until after symbol loading suppresses the warning. */ solib_add ((char *) 0, 0, (struct target_ops *) 0, auto_solib_add); - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; /* Enable breakpoints disabled (unnecessarily) by clear_solib(). */ re_enable_breakpoints_in_shlibs (); diff --git a/gdb/solib-sunos.c b/gdb/solib-sunos.c index 427b33d..4072fab 100644 --- a/gdb/solib-sunos.c +++ b/gdb/solib-sunos.c @@ -829,7 +829,7 @@ sunos_solib_create_inferior_hook (void) out what we need to know about them. */ clear_proceed_status (); - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; stop_signal = TARGET_SIGNAL_0; do { @@ -837,7 +837,7 @@ sunos_solib_create_inferior_hook (void) wait_for_inferior (); } while (stop_signal != TARGET_SIGNAL_TRAP); - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; /* We are now either at the "mapping complete" breakpoint (or somewhere else, a condition we aren't prepared to deal with anyway), so adjust diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 4d8de36..1b0a43e 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -1290,7 +1290,7 @@ svr4_solib_create_inferior_hook (void) out what we need to know about them. */ clear_proceed_status (); - stop_soon_quietly = STOP_QUIETLY; + stop_soon = STOP_QUIETLY; stop_signal = TARGET_SIGNAL_0; do { @@ -1298,7 +1298,7 @@ svr4_solib_create_inferior_hook (void) wait_for_inferior (); } while (stop_signal != TARGET_SIGNAL_TRAP); - stop_soon_quietly = NO_STOP_QUIETLY; + stop_soon = NO_STOP_QUIETLY; #endif /* defined(_SCO_DS) */ } -- 2.7.4