Commit Graph

177 Commits

Author SHA1 Message Date
Corinna Vinschen
bdcd319a1e * arch-utils.c (generic_skip_trampoline_code): New function.
* arch-utils.h (generic_skip_trampoline_code): Declare external.
        * gdbarch.c: Regeberated from gdbarch.sh.
        * gdbarch.h: Ditto.
        * gdbarch.sh (SKIP_TRAMPOLINE_CODE): Multi-arch.
        * infrun.c: Remove default setting of SKIP_TRAMPOLINE_CODE macro.
2001-08-15 15:29:56 +00:00
Elena Zannoni
210661e72f 2001-07-16 Elena Zannoni <ezannoni@redhat.com>
* top.c (is_complete_command, init_cmd_lists, init_cli_cmds,
        execute_user_command, do_setshow_command, get_prompt, init_proc,
        serial_log_command): Remove extern declarations.  Include
        cli/cli-cmds.h, cli/cli-script.h, cli/cli-setshow.h, serial.h.
        * gdbcmd.h (execute_user_command): Remove declaration, it's already
        in cli/cli-script.h.
        * command.h (do_setshow_command): Remove declaration, it's already
        in cli/cli-setshow.h.
        * infrun.c: Include "cli/cli-script.h" for execute_user_command.
        * Makefile.in (infrun.o): Update dependencies.
        (top.o): Ditto.
        * cli/cli-setshow.h: Add comment for do_setshow_command.
2001-07-16 14:46:34 +00:00
Stephane Carrez
37767e423b * utils.c (query): Remove tui hacks; tui must use the query_hook.
* top.c (command_loop): Remove tui insert_mode hacks; don't call
	tuiCleanUp because this must be made with atexit by tui.
	* symfile.c (symbol_file_command): Remove call to TUIDO
	* stack.c (show_and_print_stack_frame_stub): Remove tui check;
	not necessary when using the selected frame hooks.
	(print_stack_frame_stub): Likewise.
	(print_frame_info_base): Likewise.
	(print_frame_info): Likewise.
	(up_silently_command): Likewise.
	(down_silently_command): Likewise.
	(show_stack_frame): Likewise for TUIDO.
	(select_frame): Likewise.
	(select_and_print_frame): Likewise.
	(stack_publish_stopped_with_no_frame): Remove.
	(select_and_maybe_print_frame): Remove.
	* main.c (captured_main): Remove tui_fileopen and tuiInit; tui
	must use the initialize ui hook.
	* infrun.c (normal_stop): Remove call to TUIDO; tui must use the
	selected frame hooks.
	* event-top.c (command_handler): Remove tui insert_mode hack.
	* defs.h: Remove TUIDO; Only include tui.h.
	* breakpoint.c (mention): Remove calls to TUIDO.
	(delete_breakpoint): Remove tui hacks; tui must install
	the breakpoint hooks.
2001-07-14 18:59:07 +00:00
Keith Seitz
84c6c83cbc * infrun.c (print_stop_reason): Add missing uiout field
"reason" for SIGNAL_RECEIVED case.
2001-07-11 16:46:57 +00:00
Andrew Cagney
9dc5e2a936 Replace:
if (interpreter_p && strncmp (interpreter_p, "mi", 2) == 0)
with:
  if (ui_out_is_mi_like_p (uiout))
2001-07-06 03:53:11 +00:00
Andrew Cagney
100a02e1de From Fernando Nasser:
* infrun.c (handle_inferior_event): Handle "nexti" inside function
prologues.
2001-06-28 21:48:41 +00:00
Michael Snyder
80b34fabd3 2001-06-28 Michael Snyder <msnyder@redhat.com>
* infrun.c (handle_inferior_event): Replace prev_pc test in all
	calls to bpstat_stop_status (removed in 1999-09-24).  This test
	helps distinguish stepping over a breakpoint trap from stepping
	thru a jump to the instruction after a breakpoint trap.
	(handle_inferior_event): Don't bother writing the PC if
	DECR_PC_AFTER_BREAK is zero (optimization).
	* breakpoint.c (bpstat_stop_status): Add comment explaining the
	purpose and usage of the "not_a_breakpoint" argument in computing
	the breakpoint address.
2001-06-28 21:34:03 +00:00
Michael Snyder
ef5cf84e21 2001-06-25 Michael Snyder <msnyder@redhat.com>
* infrun.c: Eliminate the "thread_step_needed" state variable,
	and replace it with a relatively simple test in resume.
	(resume): Replace thread_step_needed logic with a test for
	stepping, breakpoint_here_p and breakpoints_inserted.
	Move CANNOT_STEP_BREAKPOINT logic to after thread_step logic.
	(proceed): Discard thread_step_needed logic.
	(wait_for_inferior, fetch_inferior_event, handle_inferior_event):
	Discard thread_step_needed logic.
2001-06-26 00:26:42 +00:00
Andrew Cagney
b30bf9ee99 Recognize -i=mi0, -i=mi1 and -i=mi. 2001-06-18 17:57:43 +00:00
Michael Snyder
dd80620e6b 2001-06-15 Michael Snyder <msnyder@redhat.com>
* infrun.c (context_switch): New function.  Abstract the operation
	of saving and restoring infrun's state when switching threads.
	(handle_inferior_event): Normalize the handling of the 'thread hop'
	event (when the wrong thread hits a thread-specific breakpoint,
	and we need to solo-step that thread past the breakpoint).
	Call keep_going, instead of target_resume.  Handle the subsequent
	singlestep-trap as a normal event instead of just resuming.
2001-06-15 22:44:20 +00:00
Michael Snyder
6c0d3f6a03 2001-06-13 Michael Snyder <msnyder@redhat.com>
* gdbthread.h (struct thread_info): Add new fields:
        current_line, current_symtab, step_sp, for saved infrun state.
        * thread.c (save_infrun_state, load_infrun_state): Save and
        restore current_line, current_symtab, and step_sp.
        (add_thread): Rather than adding assignments to initialize
	the new fields, just use memset (tp, 0, sizeof (*tp).
	This way future new fields will not be overlooked.
        * infrun.c (handle_inferior_event): Save and restore save_sp,
        current_line, and current_symtab when switching threads.
2001-06-13 22:56:16 +00:00
Michael Snyder
8601f500c8 2001-06-01 Michael Snyder <msnyder@redhat.com>
* thread.c (delete_step_resume_breakpoint): New function.
	Maintain internal consistency of the thread list while deleting
	a step_resume_breakpoint.
	* gdbthread.h (delete_step_resume_breakpoint): Export.
	* breakpoint.c (bpstat_find_step_resume_breakpoint):
	Make thread-aware: don't return a step_resume_breakpoint
	for the wrong thread.
	* infrun.c (wait_for_inferior): Call delete_step_resume_breakpoint
	instead of delete_breakpoint_current_contents.
	(fetch_inferior_event): Ditto.
	(handle_inferior_event): Call delete_step_resume_breakpoint
	instead of delete_breakpoint.
2001-06-02 00:36:20 +00:00
Michael Snyder
c6ad9598d0 2001-06-01 Michael Snyder <msnyder@redhat.com>
* infrun.c (handle_inferior_event): After singlestepping over a
	thread-specific breakpoint, use currently_stepping() to decide
	whether to step or continue.
2001-06-01 23:23:19 +00:00
Kevin Buettner
ca6724c16a Redefine ptid_t to be a struct rather than an int. 2001-05-15 00:03:38 +00:00
Kevin Buettner
ce696e0556 Consolidate save_inferior_ptid/restore_inferior_ptid implementation to
one source file.
2001-05-06 22:22:03 +00:00
Kevin Buettner
39f770628a Phase 1 of the ptid_t changes. 2001-05-04 04:15:33 +00:00
David Smith
e02bc4cc30 2001-04-06 David Smith <dsmith@redhat.com>
* arch-utils.c (default_prepare_to_proceed)
	(generic_prepare_to_proceed): Added new functions.
	* arch-utils.h: New function declarations for
	default_prepare_to_proceed() and generic_prepare_to_proceed().
	* gdbarch.sh: Added PREPARE_TO_PROCEED.
	* gdbarch.c: Regenerated.
	* gdbarch.h: Regenerated.
	* inferior.h: Added get_last_target_status() declaration.
	* infrun.c (get_last_target_status): Added new function.
	(handle_inferior_event): Saves last pid and waitstatus, which will
	get returned by get_last_target_status().

	* hppa-tdep.c (prepare_to_proceed):  Added comment stating that
	prepare_to_proceed() is potentially redundant since
	default_prepare_to_proceed() has been added.
	* linux-thread.c (prepare_to_proceed): Ditto.
	* lin-lwp.c (prepare_to_proceed): Ditto.
	* m3-nat.c (prepare_to_proceed): Ditto.
2001-04-06 17:53:39 +00:00
Andrew Cagney
8866554466 -Wuninitialized fixes. 2001-03-22 23:58:37 +00:00
Andrew Cagney
b0ed35899a Change SOFTWARE_SINGLE_STEP_P into SOFTWARE_SINGLE_STEP_P(). 2001-03-20 18:16:28 +00:00
Kevin Buettner
b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Andrew Cagney
4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
Andrew Cagney
8e65ff28b0 Add __FILE__ and __LINE__ parameter to internal_error() /
internal_verror().
2001-02-08 06:03:54 +00:00
Fernando Nasser
1adeb98a32 2001-01-26 Fernando Nasser <fnasser@redhat.com>
Fix double parsing of filenames passed as command line arguments
        to GDB (causes weird handling of escape characters).
        Also, remove dependencies on the CLI from libgdb.
        * call-cmds.h: Remove declaration of exec_file_command().
        * gdbcore.h: Remove declaration of exec_file_command().
        Add declarations for exec_open() and exec_file_clear().
        * symfile.h: Add declarations for symbol_file_add_main() and
        symbol_file_clear().
        * exec.c (exec_open): New function. Implements to_open for exec
        targets.
        (exec_file_clear): New function. Makes GDB forget about a previously
        specified executable file.
        (exec_file_attach): Move parsing of arguments from here ...
        (exec_file_command): ... to here.
        (init_exec_ops): Use exec_open(), not exec_file_command() to
        implement to_open for exec targets.
        * symfile.c (symbol_file_add_main): New function. Call symbol_file_add()        with default values.  Used when the file name has already been parsed.
        (symbol_file_clear): New function. Makes GDB forget about previously
        read symbols.
        (symbol_file_command): Call the above function instead of inline code.
        * main.c: Include "symfile.h" and "gdbcore.h" instead of the deprecated
        "call-cmds.h".
        (captured_main): Call exec_file_attach() and symbol_file_add_main()
        instead of exec_file_command() and symbol_file_command().
        (captured_main): Add comment.
        * corefile.c: Include "symfile.h".
        (core_file_command): Call symbol_file_add_main() instead of
        symbol_file_command().
        (reopen_exec_file): Call exec_open() instead of exec_file_command().
        * infcmd.c: Include "symfile.h".
        (attach_command): Call symbol_file_add_main() instead of
        symbol_file_command().
        * infrun.c: Remove comment about the inclusion of "symfile.h",
        not any longer appropriate.
        (follow_exec): Call symbol_file_add_main() instead of
        symbol_file_command().
        * remote-es.c: Include "symfile.h".
        (es1800_load): Call symbol_file_add_main() instead of
        symbol_file_command().
        * remote-vx.c: Remove comment about the inclusion of "symfile.h",
        not any longer appropriate.
        (vx-wait): Call symbol_file_add_main() instead of
        symbol_file_command().
        * solib-svr4.c (open_symbol_file_object): Call symbol_file_add_main()
        instead of symbol_file_command().
        * v850ice.c (ice_file): Call exec_open(), exec_file_attach() and
        symbol_file_add_main() instead of exec_file_command() and
        symbol_file_command().
        * Makefile.in: Update dependencies.
2001-01-27 00:43:26 +00:00
Kevin Buettner
b8c9b27d1e Replace free() with xfree(). 2000-12-15 01:01:51 +00:00
Christopher Faylor
5fbbeb2988 * inferior.h (step_over_calls_kind): New enum to clarify values in
step_over_calls.
* infcmd.c (step_over_calls): Change definition.
(step_1): Use new enum values in relation to step_over_calls.
(step_once): Ditto.
(until_next_command): Ditto.
* infrun.c (clear_proceed_status): Ditto.
(handle_inferior_event): Ditto.
* inferior.h (step_stop_if_no_debug): New variable.
* infrun.c (step_stop_if_no_debug): Declare.
(handle_inferior_event): Stop the step command if we entered a function without
line info.
(_initialize_infrun): New command 'set step-mode' to control the step command.
* infcmd.c (step_once): Switch to stepi mode if there is no line info
(and switching is enabled).
2000-11-10 19:27:45 +00:00
Fernando Nasser
73bc900df9 2000-11-06 Fernando Nasser <fnasser@cygnus.com>
From  Steven Johnson  <sbjohnson@ozemail.com.au>:

        This set of changes add "hookpost-" as an expansion on the original
        hooking of commands to GDB. A Hook may now be run "AFTER" execution of
        a command as well as before.

        * command.h (struct cmd_list_element): Changed elements hook and hookee
        to hook_pre and hookee_pre respectively. Added hook_post and hookee_post
        for the post hook command operation. Added hook_in so that an executing
        hook can be flagged to prevent recursion.
        * command.c (add_cmd): Changed initilization of cmd_list_element to
        reflect above changes.
        (delete_cmd): Remove both pre and post hooks.
        (help_cmd): Notify that the command has pre and/or post hooks.
        * infrun.c (normal_stop): Change references to hook_pre from hook.
        * top.c (execute_command): Run both pre and post hooks.
        (define_command): Allow definition of both pre and post hooks.
        The definition of pre-hooks is done as before, with the "hook-"
        prefix for backward compatibility.
2000-11-06 22:44:34 +00:00
David Taylor
bb518678ac * eval.c (parse_and_eval_long): New function.
* value.h: Declare it.

	* breakpoint.c (breakpoints_info, maintenance_info_breakpoints):
	Call parse_and_eval_long, not parse_and_eval_address.
	* command.c (do_setshow_command): Ditto.
	* infcmd.c (step_1, signal_command, continue_command): Ditto.
	* infrun.c (signals_info): Ditto.
	* stack.c (set_backtrace_limit_command, backtrace_command_1,
	up_silently_base, down_silently_base): Ditto.
	* tracepoints.c (tracepoints_info, trace_find_command,
 	trace_find_tracepoint_command): Ditto.
	* valprint.c (set_radix): Ditto.
	* values.c (show_values): Ditto.
2000-10-30 15:32:51 +00:00
David Anderson
7e73cedf75 Corrected spelling errors in comments.
gdbarch.{c,sh} removed a word from a comment.
2000-10-27 15:02:42 +00:00
David Anderson
3cbb88dcd1 Corrected spelling in comment: unles -> unless. 2000-09-02 00:08:05 +00:00
Kevin Buettner
fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Andrew Cagney
e28d556f6b Botch in previous change. Was comparing against "ask" instead of
follow_fork_mode_ask.
2000-06-08 01:52:44 +00:00
Andrew Cagney
53904c9e67 Change signature of function add_set_enum_cmd() so that it uses
constant character pointers.  Update everything.
As a consequence fix infrun's follow-fork plugging a small memory leak.
2000-06-08 00:52:56 +00:00
Andrew Cagney
74b7792f0f Purge (almost) make_cleanup_func. 2000-05-22 09:02:23 +00:00
Andrew Cagney
1ed2a1352d Fix signature of add_set_enum_cmd. Change VAR parameter to char**.
Cleanup signature of add_set_cmd.  Change VAR parameter to void*.
2000-05-16 03:03:13 +00:00
Mark Kettenis
e441088d68 * infrun.c (handle_inferior_event): Add missing call to keep_going
and missing return when handling an ordinary signal from the
inferior.
2000-05-04 17:32:49 +00:00
Mark Kettenis
d41707c868 * infrun.c (handle_inferior_event): When doing a "next", and
stepping out of a signal handler into its calling trampoline
ignore the value of step_frame_address.
(step_over_function): Only modify step_resume_breakpoint->frame if
the value of step_frame_address is non-zero.
2000-05-03 20:16:05 +00:00
Andrew Cagney
d7446e7568 revert 1.9. Not approved. 2000-05-02 08:59:35 +00:00
Andrew Cagney
33489c5bed re-do how gdbarch provides non-multi arch defaults so that non-
multi-arch gdbservers can continue to compile.
2000-05-02 08:57:21 +00:00
Andrew Cagney
ef346e0411 Append NULL to enum based commands follow-fork and scheduler-locking. 2000-04-20 11:00:34 +00:00
Eli Zaretskii
010a3cd955 * infrun.c (proceed, normal_stop): Change the error message about
failure to insert breakpoints/watchpoints so that it makes sense
	even if ptrace is not used or no other processes can be active.
2000-04-13 10:22:22 +00:00
Nicholas Duffek
c7e79b4bee * infrun.c (handle_inferior_event): Call target_mourn_inferior
instead of kill_target.
2000-04-05 02:26:37 +00:00
Michael Snyder
692590c19f 2000-03-28 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
breakpoint.c, breakpoint.h (remove_hw_watchpoints):  New function.
        infrun.c (resume):  Remove hardware watchpoints before stepping
        when CANNOT_STEP_HW_WATCHPOINTS is nonzero.
2000-03-28 22:30:19 +00:00
Andrew Cagney
d082b2bb92 Add more checks for no stack frame. 2000-02-29 07:17:15 +00:00
Andrew Cagney
fb40c20903 Add mi/ and testsuite/gdb.mi/ subdirectories.
Add --enable-gdbmi option to configury.
Add mi rules to Makefile.in
Add mi conditional output to event-top.c infrun.c main.c top.c.
Add -i=mi option.
2000-02-23 00:25:43 +00:00
Andrew Cagney
03f2053f96 Replace ../include/wait.h with gdb_wait.h. 2000-02-09 08:52:47 +00:00
Jason Molenda
dfcd3bfb6f import gdb-2000-02-04 snapshot 2000-02-05 07:30:26 +00:00
Jason Molenda
8b93c6380e import gdb-2000-02-02 snapshot 2000-02-03 04:14:45 +00:00
Jason Molenda
c5394b80ae import gdb-2000-01-17 snapshot 2000-01-18 00:55:13 +00:00
Jason Molenda
c3f6f71df3 import gdb-2000-01-05 snapshot 2000-01-06 03:07:20 +00:00
Jason Molenda
c4093a6ab3 import gdb-1999-12-13 snapshot 1999-12-14 01:06:04 +00:00