* inferior.h (start_remote): Update prototype.

* infrun.c (start_remote): Take FROM_TTY.  Call
	post_create_inferior.
	* monitor.c (monitor_open): Update call to start_remote.
	* remote-sds.c (sds_start_remote, sds_open): Likewise.
	* remote.c (remote_start_remote): Likewise.
	(remote_start_remote_dummy): Removed.
	(remote_open): Update call to remote_start_remote.  Do not call
	post_create_inferior here.
This commit is contained in:
Daniel Jacobowitz 2006-10-18 16:56:13 +00:00
parent 2f83a18e2a
commit 8621d6a944
6 changed files with 35 additions and 23 deletions

View File

@ -1,3 +1,15 @@
2006-10-18 Daniel Jacobowitz <dan@codesourcery.com>
* inferior.h (start_remote): Update prototype.
* infrun.c (start_remote): Take FROM_TTY. Call
post_create_inferior.
* monitor.c (monitor_open): Update call to start_remote.
* remote-sds.c (sds_start_remote, sds_open): Likewise.
* remote.c (remote_start_remote): Likewise.
(remote_start_remote_dummy): Removed.
(remote_open): Update call to remote_start_remote. Do not call
post_create_inferior here.
2006-10-18 Daniel Jacobowitz <dan@codesourcery.com>
* solib-svr4.c (debug_loader_offset_p, debug_loader_offset)

View File

@ -269,7 +269,7 @@ extern int gdb_has_a_terminal (void);
/* From infrun.c */
extern void start_remote (void);
extern void start_remote (int from_tty);
extern void normal_stop (void);

View File

@ -2,8 +2,9 @@
process.
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
Software Foundation, Inc.
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006
Free Software Foundation, Inc.
This file is part of GDB.
@ -832,7 +833,7 @@ proceed (CORE_ADDR addr, enum target_signal siggnal, int step)
/* Start remote-debugging of a machine over a serial link. */
void
start_remote (void)
start_remote (int from_tty)
{
init_thread_list ();
init_wait_for_inferior ();
@ -854,6 +855,12 @@ start_remote (void)
is currently running and GDB state should be set to the same as
for an async run. */
wait_for_inferior ();
/* Now that the inferior has stopped, do any bookkeeping like
loading shared libraries. We want to do this before normal_stop,
so that the displayed frame is up to date. */
post_create_inferior (&current_target, from_tty);
normal_stop ();
}

View File

@ -812,7 +812,7 @@ monitor_open (char *args, struct monitor_ops *mon_ops, int from_tty)
monitor_printf (current_monitor->line_term);
start_remote ();
start_remote (from_tty);
}
/* Close out all files and local state before this target loses

View File

@ -148,8 +148,9 @@ sds_close (int quitting)
/* Stub for catch_errors. */
static int
sds_start_remote (void *dummy)
sds_start_remote (void *from_tty_p)
{
int from_tty = * (int *) from_tty;
int c;
unsigned char buf[200];
@ -173,7 +174,7 @@ sds_start_remote (void *dummy)
immediate_quit--;
start_remote (); /* Initialize gdb process mechanisms */
start_remote (from_tty); /* Initialize gdb process mechanisms */
return 1;
}
@ -224,7 +225,7 @@ device is attached to the remote system (e.g. /dev/ttya).");
/* Start the remote connection; if error (0), discard this target.
In particular, if the user quits, be sure to discard it (we'd be
in an inconsistent state otherwise). */
if (!catch_errors (sds_start_remote, NULL,
if (!catch_errors (sds_start_remote, &from_tty,
"Couldn't establish connection to remote target\n",
RETURN_MASK_ALL))
pop_target ();

View File

@ -1987,20 +1987,13 @@ get_offsets (void)
objfile_relocate (symfile_objfile, offs);
}
/* Stub for catch_errors. */
static int
remote_start_remote_dummy (struct ui_out *uiout, void *dummy)
{
start_remote (); /* Initialize gdb process mechanisms. */
/* NOTE: Return something >=0. A -ve value is reserved for
catch_exceptions. */
return 1;
}
/* Stub for catch_exception. */
static void
remote_start_remote (struct ui_out *uiout, void *dummy)
remote_start_remote (struct ui_out *uiout, void *from_tty_p)
{
int from_tty = * (int *) from_tty_p;
immediate_quit++; /* Allow user to interrupt it. */
/* Ack any packet which the remote side has already sent. */
@ -2016,7 +2009,7 @@ remote_start_remote (struct ui_out *uiout, void *dummy)
putpkt ("?"); /* Initiate a query from remote machine. */
immediate_quit--;
remote_start_remote_dummy (uiout, dummy);
start_remote (from_tty); /* Initialize gdb process mechanisms. */
}
/* Open a connection to a remote debugger.
@ -2458,7 +2451,8 @@ remote_open_1 (char *name, int from_tty, struct target_ops *target,
function. See cli-dump.c. */
{
struct gdb_exception ex
= catch_exception (uiout, remote_start_remote, NULL, RETURN_MASK_ALL);
= catch_exception (uiout, remote_start_remote, &from_tty,
RETURN_MASK_ALL);
if (ex.reason < 0)
{
pop_target ();
@ -2478,8 +2472,6 @@ remote_open_1 (char *name, int from_tty, struct target_ops *target,
getpkt (&rs->buf, &rs->buf_size, 0);
}
post_create_inferior (&current_target, from_tty);
if (exec_bfd) /* No use without an exec file. */
remote_check_symbols (symfile_objfile);
}