Commit graph

22182 commits

Author SHA1 Message Date
Daniel Jacobowitz
2d717e4f8a * linux-low.c (linux_attach_lwp): Do not _exit after errors.
(linux_kill, linux_detach): Clean up the process list.
	* remote-utils.c (remote_open): Improve port number parsing.
	(putpkt_binary, input_interrupt): Only send interrupts if the target
	is running.
	* server.c (extended_protocol): Make static.
	(attached): Define earlier.
	(exit_requested, response_needed, program_argv): New variables.
	(target_running): New.
	(start_inferior): Clear attached here.
	(attach_inferior): Set attached here.
	(require_running): Define.
	(handle_query): Use require_running and target_running.  Implement
	"monitor exit".
	(handle_v_attach, handle_v_run): New.
	(handle_v_requests): Use require_running.  Handle vAttach and vRun.
	(gdbserver_usage): Update.
	(main): Redo argument parsing.  Handle --debug and --multi.  Handle
	--attach along with other options or after the port.  Save
	program_argv.  Support no initial program.  Resynchronize
	communication with GDB after an error.  Handle "monitor exit".
	Use require_running and target_running.  Always allow the extended
	protocol.  Do not error out for Hc0 or Hc-1.  Do not automatically
	restart in extended mode.
	* README: Refer to the GDB manual.  Update --attach usage.

	* remote.c (struct remote_state): Add cached_wait_status.
	(remote_exec_file): New variable.
	(PACKET_vAttach, PACKET_vRun): New constants.
	(extended_remote_restart): Do not query for status.
	(struct start_remote_args): New.
	(remote_start_remote): Take it as a second argument.  Check
	whether the target is running.  Issue an error for non-running
	non-extended targets.  Cache the wait status.  Set inferior_ptid
	here.
	(remote_open_1): Prompt to disconnect non-running targets.  Make
	sure the target is marked running.  Do not set inferior_ptid here.
	Update call to remote_start_remote.  Do not call remote_check_symbols
	if the target is not running.
	(remote_detach_1): Rename from remote_detach.  Take an EXTENDED
	argument.  Handle a non-running target.
	(remote_detach): Use it.
	(extended_remote_detach): New.
	(remote_disconnect): Fix typo.  Use remoute_mourn_1.
	(extended_remote_attach_1, extended_remote_attach)
	(extended_async_remote_attach): New.
	(remote_vcont_resume): Remove unused variable.
	(remote_wait, remote_async_wait): Use any cached wait status.
	(putpkt_binary, getpkt): Clear any cached wait status.
	(extended_remoute_mourn_1): New.
	(extended_remote_mourn): Use it.
	(extended_async_remote_mourn, extended_remote_run): New.
	(extended_remote_create_inferior_1): New.
	(extended_remote_create_inferior): Use it.
	(extended_remote_async_create_inferior): Likewise.
	(remote_xfer_partial): Skip for non-executing targets.
	(init_extended_remote_ops): Set to_detach and to_attach.
	(init_extended_async_remote_ops): Likewise.  Use
	extended_async_remote_mourn.
	(_initialize_remote): Register vAttach, vRun, and
	set remote exec-file.
	* NEWS: Mention vAttach, vRun, and gdbserver extended-remote support.

	* gdb.server/ext-attach.c, gdb.server/ext-attach.exp,
	gdb.server/ext-run.exp: New files.
	* lib/gdbserver-support.exp (gdbserver_download): New.
	(gdbserver_start): New.  Update gdbserver expected
	output.
	(gdbserver_spawn): Use them.
	(gdbserver_start_extended): New.

	* gdb.texinfo (Using the `gdbserver' Program): Add security
	warning.  Rearrange into subsections and subsubsections.  Document
	--multi and --debug.  Correct --with-sysroot typo.  Update --attach
	usage.  Make load reference clearer.  Document monitor exit.
	(Remote Configuration): Document set remote exec-file, attach-packet,
	and run-packet.
	(Packets): Document vAttach and vRun.
2008-01-30 00:51:50 +00:00
gdbadmin
9dc513fc0e *** empty log message *** 2008-01-30 00:00:33 +00:00
Nick Roberts
1131083327 (Processes): Mention process command.
detach-on-follow -> detach-on-fork.
2008-01-29 23:29:29 +00:00
Nick Roberts
f663676d1b *** empty log message *** 2008-01-29 23:28:51 +00:00
Daniel Jacobowitz
e85a822c15 * Makefile.in (symfile.o): Update.
* NEWS: Mention exec tracing support.
	* inf-ttrace.c (inf_ttrace_wait): Return TARGET_WAITKIND_EXECD for
	exec events.
	* infcmd.c (kill_if_already_running, detach_command)
	(disconnect_command): Replace SOLIB_RESTART with no_shared_libraries.
	* infrun.c (MAY_FOLLOW_EXEC, may_follow_exec): Delete.
	(follow_exec): Do not check may_follow_exec.  Do not mourn and push
	targets.  Apply the sysroot path to the loaded executable.  Use
	no_shared_libraries.
	* linux-nat.c (linux_child_follow_fork): Print fork following
	messages if verbose.
	(kill_wait_callback): Kill again before waiting a second time.
	* symfile.c (symbol_file_clear): Replace SOLIB_RESTART with
	no_shared_libraries.

	* gdb.base/foll-exec.exp: Update header.  Skip on remote targets.
	Run on GNU/Linux.
	(do_exec_tests): Check for systems which do not support catchpoints.
	Do not match START.
	* gdb.base/foll-fork.exp: Update header.  Skip on remote targets.
	Run on GNU/Linux.  Enable verbose output.
	(check_fork_catchpoints): New.
	(explicit_fork_child_follow, catch_fork_child_follow)
	(tcatch_fork_parent_follow): Update expected messages.
	(do_fork_tests): Use check_fork_catchpoints.
	* gdb.base/foll-vfork.exp: Update header.  Skip on remote targets.
	Run on GNU/Linux.  Enable verbose output.
	(check_vfork_catchpoints): New.
	(vfork_parent_follow_to_bp, tcatch_vfork_then_child_follow): Update
	expected messages.
	(do_vfork_and_exec_tests): Use check_fork_catchpoints.
2008-01-29 22:47:20 +00:00
Joel Brobecker
9db13498bf * amd64-tdep.c (amd64_classify): Add handling of TYPE_CODE_CHAR. 2008-01-29 21:27:19 +00:00
Joel Brobecker
b4d5ed91ae * nto-tdep.h: Remove #include "defs.h".
* nto-tdep.c: Add #include "defs.h".
        * Makefile.in (nto_tdep_h): Update dependencies.
        (nto-tdep.o): Likewise.
2008-01-29 21:26:04 +00:00
Joel Brobecker
107313f766 Fix date of last entry. 2008-01-29 21:23:03 +00:00
Joel Brobecker
ae123ec613 * infrun.c (wait_for_inferior): Add treat_exec_as_sigtrap parameter
and use it.
        (proceed, start_remote): Update call to wait_for_inferior.
        * inferior.h (wait_for_inferior): Update declaration.
        * fork-child.c, infcmd.c, solib-irix.c, solib-osf.c, solib-sunos.c,
        solib-svr4.c, win32-nat.c: Update calls to wait_for_inferior.
        * inf-ttrace.c (inf_ttrace_wait): Report TTEVT_EXEC events as
        TARGET_WAITKIND_EXECD instead of TARGET_WAITKIND_STOPPED.
2008-01-29 21:11:24 +00:00
Jim Blandy
401ea829c8 * lib/gdbserver-support.exp (gdb_target_cmd): Recognize 'unknown
host' errors.
* lib/mi-support.exp (mi_gdb_target_cmd): Same.
2008-01-29 19:36:58 +00:00
Jim Blandy
aceaf3add3 * gdb.threads/sigthread.c: Use barriers to ensure that
child_thread and child_thread_two are always initialized before we
start to use them.
2008-01-29 19:20:52 +00:00
Daniel Jacobowitz
3f4178d63f 2008-01-29 Aleksandar Ristovski <aristovski@qnx.com>
* varobj (adjust_value_for_child_access): Added checking for
	returned value from gdb_value_ind.
	(c_describe_child): Likewise.
	(cplus_describe_child): Fixed a typo.
2008-01-29 19:18:18 +00:00
Jim Blandy
5eeba8d469 * MAINTAINERS: Update my info. 2008-01-29 19:15:36 +00:00
Vladimir Prus
a5606eee5e Use multiple locations for hardware watchpoints.
This eliminates the need to traverse value chain, doing
	various checks, in three different places.

        * breakpoint.h (struct bp_location): New fields
        lengths and watchpoint_type.
        (struct breakpoint): Remove the val_chain field.
        * breakpoint.c (is_hardware_watchpoint): New.
        (free_valchain): Remove.
        (update_watchpoint): New.
        (insert_bp_location): For hardware watchpoint, just
        directly insert it.
        (insert_breakpoints): Call update_watchpoint_locations
        on all watchpoints.  If we have failed to insert
        any location of a hardware watchpoint, remove all inserted
        locations.
        (remove_breakpoint): For hardware watchpoints, directly
        remove location.
        (watchpoints_triggered): Iterate over locations.
        (bpstat_stop_status): Use only first location of
        a resource watchpoint.
        (delete_breakpoint): Don't call free_valchain.
        (print_one_breakpoint): Don't print all
        locations for watchpoints.
        (breakpoint_re_set_one): Use update_watchpoint for
        watchpoints.
2008-01-29 17:52:47 +00:00
Vladimir Prus
0b3de036ef Don't reset watchpoint block on solib load.
* breakpoint.c (insert_bp_location): For watchpoints,
        recompute condition.
        (breakpoint_re_set_one): Instead of recomputing value
        and condition for watchpoints, just reset value and
        let insert_breakpoints/insert_bp_location recompute it.
        Don't do anything about disabled watchpoint.
2008-01-29 16:47:47 +00:00
Pierre Muller
c55a82bb3c * gdb.base/gdb1056.exp: Add unsigned integer test. 2008-01-29 16:30:25 +00:00
Pierre Muller
c3940723cf * valarith.c (value_binop): Handle unsigned integer
division by zero.
2008-01-29 14:24:43 +00:00
Kevin Buettner
8384563051 * mn10300-tdep.c (mn10300_analyze_prologue): Check for an
instruction pattern that appears frequently in position
	independent code.  Fix bug in code which looks for "fmov" and
	backtracks if no "fmov" is found.
2008-01-29 00:15:10 +00:00
gdbadmin
f1e8e64f70 *** empty log message *** 2008-01-29 00:00:33 +00:00
Doug Evans
131fe1bb9d * dbxread.c (read_dbx_symtab): Reformat comments to 80 columns.
Move local var def closer to only use.
2008-01-28 23:43:57 +00:00
Doug Evans
9ce5d3bb2e * dbxread.c (read_dbx_symtab): Fix indentation. 2008-01-28 23:19:41 +00:00
Daniel Jacobowitz
c78d192c3a * fork-child.c (SHELL_FILE): Remove #ifndef.
(fork_inferior): Remove SHELL_COMMAND_CONCAT.

	* gdbint.texinfo (Native Conditionals): Remove
	SHELL_COMMAND_CONCAT and SHELL_FILE.
2008-01-28 20:21:03 +00:00
Doug Evans
0993fe0537 * gdb.base/maint.exp: Tighten patterns looking for .text/.data/.bss. 2008-01-28 18:06:59 +00:00
gdbadmin
8693ff0ffb *** empty log message *** 2008-01-28 00:00:03 +00:00
Jim Blandy
c7a6993360 * gdb.base/expand-psymtabs.exp: Doc fix to the doc fix. 2008-01-27 22:25:43 +00:00
Jim Blandy
4fe42e7fe7 * gdb.base/expand-psymtabs.exp: Doc fix. 2008-01-27 17:19:06 +00:00
gdbadmin
3880c9e785 *** empty log message *** 2008-01-27 00:00:03 +00:00
Eli Zaretskii
5fa54e5d16 * gdb.texinfo (Specify Location): Improve wording. 2008-01-26 19:14:18 +00:00
Mark Kettenis
5def828572 * gdb.gdb/selftest.exp (do_steps_and_nexts): Add more matches. 2008-01-26 13:56:37 +00:00
gdbadmin
8f0a6da7a9 *** empty log message *** 2008-01-26 00:00:02 +00:00
Pierre Muller
e11481da79 * i386-tdep.c (i386_skip_noop): New function.
(i386_analyze_prologue): Call i386_skip_noop function.
2008-01-25 17:24:49 +00:00
Michael Snyder
244e85c8df 2008-01-24 Michael Snyder <msnyder@specifix.com>
* procfs.c (procfs_xfer_partial): Comment, cut/paste error.
	* win32-nat.c (win32_xfer_partial): Ditto.
	* target.c (default_xfer_partial): Minor whitespace adjustment.
2008-01-25 00:09:50 +00:00
gdbadmin
d6e07b52b7 *** empty log message *** 2008-01-25 00:00:03 +00:00
Pedro Alves
dd6be23411 * arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't
strip bit 1 even if pc doesn't point to thumb code.
2008-01-24 15:11:13 +00:00
gdbadmin
7af3fd65aa *** empty log message *** 2008-01-24 00:00:02 +00:00
Nick Roberts
8a578dd762 Add value field to tests for output of -var-set-format. 2008-01-23 21:05:16 +00:00
Nick Roberts
5313c9115b *** empty log message *** 2008-01-23 21:04:54 +00:00
Daniel Jacobowitz
9fa2223dcd * remote.c (remote_wait): Handle SIGINT between packets.
(remote_async_wait): Likewise.
2008-01-23 20:43:30 +00:00
Vladimir Prus
93815fbfa5 Inform about new thread in a single place.
* thread.c (add_thread_silent): Renamed
        from add_thread.
        (print_thread_events): New variable definition.
        (show_print_thread_events): New function.
        (_initialize_thread): Add "set print thread-events" and
        "show print thread-events" commands.
        (add_thread): Announce new thread.
        * gdbthread.h (add_thread_silent): Declare.
        (print_thread_events): New variable declaration.
        * inf-ttrace.c (inf_ttrace_wait): Don't
        inform about new thread, as add_thread is always
        called too, and will take care of that.
        * infrun.c (handle_inferior_event): Likewise.
        * procfs.c (procfs_wait): Likewise.
        * remote.c (remote_currthread): Likewise.
        * sol-thread.c (sol_thread_wait): Likewise.
        * win32-nat.c (get_win32_debug_event): Likewise.
        * linux-thread-db.c (attach_thread): Likewise.
        Remove the verbose parameter.
        (check_event): Make detach_thread be verbose
        only if print_thread_events is set.
        * linux-nat.c (lin_lwp_attach_lwp): Don't inform
        about new thread.  This is called only from
        linux-thread-db.c:attach_thread, which will take care.
        Remove the verbose parameter.
        * linux-nat.h (lin_lwp_attach_lwp): Adjust prototype.
2008-01-23 11:26:29 +00:00
Nick Roberts
7bf81d6302 Add value field to tests for output of -var-set-format. 2008-01-23 06:20:57 +00:00
Nick Roberts
bb2bed55ec Add the variable octal. 2008-01-23 06:20:34 +00:00
Nick Roberts
467a88eed1 *** empty log message *** 2008-01-23 06:19:31 +00:00
Nick Roberts
00ee63486b (mi_cmd_var_set_format): Add value field to output. 2008-01-23 06:13:44 +00:00
Nick Roberts
b4d7c9a6eb *** empty log message *** 2008-01-23 06:13:28 +00:00
gdbadmin
64f926997f *** empty log message *** 2008-01-23 00:00:03 +00:00
Daniel Jacobowitz
d8f82aba69 * gdb.base/float.exp: Allow missing floating point for m68k and
PowerPC.
2008-01-22 21:30:02 +00:00
Vladimir Prus
60c4664782 * breakpoint.c (break_command_really): New parameter
ignore_count.
	(break_command_1): Pass 0 as
	ignore_count to break_command_really.
	(gdb_breakpoint): Pass ignore_count to
	break_command_really.
2008-01-22 19:43:10 +00:00
Kevin Buettner
e84605cd7f * mn10300-linux-tdep.c (am33_linux_sigframe_cache_init): Find
sigcontext struct via pointer.
	(struct sigframe comment): Update to show new field `psc'.
2008-01-22 01:17:25 +00:00
gdbadmin
d514a12074 *** empty log message *** 2008-01-22 00:00:03 +00:00
Vladimir Prus
9d9cd7ac81 * infrun.c (handle_inferior_event): If
we failed to remove breakpoints, error,
	don't try to increment PC by hand.
2008-01-21 16:34:00 +00:00