From 230a95ce5a67898210a4a9654c4dfd5e685ca672 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Wed, 27 Aug 1997 04:45:59 +0000 Subject: [PATCH] New file - generic implementation of sim_load for hardware only simulators. --- sim/common/sim-hload.c | 53 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 sim/common/sim-hload.c diff --git a/sim/common/sim-hload.c b/sim/common/sim-hload.c new file mode 100644 index 00000000000..c342245c09e --- /dev/null +++ b/sim/common/sim-hload.c @@ -0,0 +1,53 @@ +/* Generic load for hardware simulator models. + Copyright (C) 1997 Free Software Foundation, Inc. + Contributed by Cygnus Support. + +This file is part of GDB, the GNU debugger. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +#include "sim-main.h" +#include "bfd.h" +#include "sim-utils.h" +#include "sim-assert.h" + + +/* Generic implementation of sim_load that works with simulators + modeling a hardware platform. */ + +SIM_RC +sim_load (sd, prog_name, prog_bfd, from_tty) + SIM_DESC sd; + char *prog_name; + struct _bfd *prog_bfd; + int from_tty; +{ + bfd *result_bfd; + if (sim_analyze_program (sd, prog_name, prog_bfd) != SIM_RC_OK) + return SIM_RC_FAIL; + SIM_ASSERT (STATE_PROG_BFD (sd) != NULL); + result_bfd = sim_load_file (sd, STATE_MY_NAME (sd), + STATE_CALLBACK (sd), + NULL, + STATE_PROG_BFD (sd), + STATE_OPEN_KIND (sd) == SIM_OPEN_DEBUG); + if (result_bfd == NULL) + { + bfd_close (STATE_PROG_BFD (sd)); + STATE_PROG_BFD (sd) = NULL; + return SIM_RC_FAIL; + } + return SIM_RC_OK; +} -- 2.30.2