summaryrefslogtreecommitdiff
path: root/gdb/remote-sim.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1997-05-22 04:59:25 +0000
committerAndrew Cagney <cagney@redhat.com>1997-05-22 04:59:25 +0000
commit1fa0cc2dfca2bfa6cc62516dd8c7aeb9c590d86a (patch)
tree8085e3b8b0e6661acecd15ca850b4735d06ff46b /gdb/remote-sim.c
parent28558bdb36be5186a20e17108bbace6628ee5934 (diff)
downloadbinutils-gdb-1fa0cc2dfca2bfa6cc62516dd8c7aeb9c590d86a.tar.gz
Restrict simulator commands to an enabled simulator.
Diffstat (limited to 'gdb/remote-sim.c')
-rw-r--r--gdb/remote-sim.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index df595ef4c0f..7574cbe7668 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -500,6 +500,8 @@ gdbsim_open (args, from_tty)
sprintf (arg_buf, "gdbsim%s%s",
args ? " " : "", args ? args : "");
#ifdef TARGET_BYTE_ORDER_SELECTABLE
+ /* Since GDB always closes the target and updates byte-order when
+ opening a new file, TARGET_BYTE_ORDER is normally correct. */
if (TARGET_BYTE_ORDER == BIG_ENDIAN)
strcat (arg_buf, " -E big");
else
@@ -777,15 +779,22 @@ simulator_command (args, from_tty)
char *args;
int from_tty;
{
- /* The user may give a command before the simulator is opened, so
- ensure that the callbacks have been set up. */
- init_callbacks ();
+ if (gdbsim_desc == NULL)
+ {
+
+ /* PREVIOUSLY: The user may give a command before the simulator
+ is opened. [...] (??? assuming of course one wishes to
+ continue to allow commands to be sent to unopened simulators,
+ which isn't entirely unreasonable). */
+
+ /* The simulator is a builtin abstraction of a remote target.
+ Consistent with that model, access to the simulator, via sim
+ commands, is restricted to the period when the channel to the
+ simulator is open. */
+
+ error ("Not connected to the simulator target");
+ }
- /* Note that if the simulator hasn't been opened, gdbsim_desc == NULL
- which is correct (??? assuming of course one wishes to continue to
- allow commands to be sent to unopened simulators, which isn't entirely
- unreasonable). Simulators should be prepared to deal with any
- combination of NULL or empty args. */
sim_do_command (gdbsim_desc, args);
}