/* Simulator for Motorola's MCore processor
- Copyright (C) 1999-2000, 2002-2003, 2007-2012 Free Software
- Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
This file is part of GDB, the GNU debugger.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#include "config.h"
#include <signal.h>
#include "sysdep.h"
#include <sys/times.h>
#include <sys/param.h>
#include <netinet/in.h> /* for byte ordering macros */
+#include <unistd.h>
#include "bfd.h"
#include "gdb/callback.h"
#include "libiberty.h"
cpu.gr[PARM4] = cpu.gr[0];
}
-static void
-interrupt ()
-{
- cpu.asregs.exception = SIGINT;
-}
-
/* Functions so that trapped open/close don't interfere with the
parent's functions. We say that we can't close the descriptors
that we didn't open. exit() and cleanup() get in trouble here,
word ibuf;
word pc;
unsigned short inst;
- void (* sigsave)();
int memops;
int bonus_cycles;
int insts;
int cycs;
word WLhash;
- sigsave = signal (SIGINT, interrupt);
cpu.asregs.exception = step ? SIGTRAP: 0;
pc = cpu.asregs.pc;
cpu.asregs.cycles += insts; /* and each takes a cycle */
cpu.asregs.cycles += bonus_cycles; /* and extra cycles for branches */
cpu.asregs.cycles += memops * memcycles; /* and memop cycle delays */
-
- signal (SIGINT, sigsave);
}
SIM_RC
sim_load (sd, prog, abfd, from_tty)
SIM_DESC sd;
- char * prog;
+ const char * prog;
bfd * abfd;
int from_tty;
{
void
sim_do_command (sd, cmd)
SIM_DESC sd;
- char * cmd;
+ const char *cmd;
{
/* Nothing there yet; it's all an error. */
if ((simargv[1] == NULL) || (simargv[2] == NULL))
{
fprintf (stderr, "Error: missing argument to watch cmd.\n");
+ freeargv (simargv);
return;
}
fprintf (stderr,"Error: \"%s\" is not a valid M.CORE simulator command.\n",
cmd);
}
+
+ freeargv (simargv);
}
else
{