From 1fa0cc2dfca2bfa6cc62516dd8c7aeb9c590d86a Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Thu, 22 May 1997 04:59:25 +0000 Subject: Restrict simulator commands to an enabled simulator. --- gdb/ChangeLog | 5 +++++ gdb/remote-sim.c | 25 +++++++++++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 17ba1e8..77a9e89 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Thu May 22 11:53:21 1997 Andrew Cagney + + * remote-sim.c (simulator_command): Restrict access to the + simulator to periods when the simulator is open. + Wed May 21 16:03:25 1997 Michael Snyder * procfs.c (init_procinfo): new function, abstracts some code diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c index df595ef..7574cbe 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); } -- cgit v1.1