aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/arm/ChangeLog4
-rw-r--r--sim/arm/wrapper.c7
-rw-r--r--sim/avr/ChangeLog4
-rw-r--r--sim/avr/interp.c6
-rw-r--r--sim/bfin/ChangeLog4
-rw-r--r--sim/bfin/interp.c6
-rw-r--r--sim/common/ChangeLog5
-rw-r--r--sim/common/Make-common.in1
-rw-r--r--sim/common/sim-close.c57
-rw-r--r--sim/cr16/ChangeLog4
-rw-r--r--sim/cr16/interp.c7
-rw-r--r--sim/cris/ChangeLog4
-rw-r--r--sim/cris/sim-if.c7
-rw-r--r--sim/d10v/ChangeLog4
-rw-r--r--sim/d10v/interp.c7
-rw-r--r--sim/frv/ChangeLog8
-rw-r--r--sim/frv/sim-if.c5
-rw-r--r--sim/frv/sim-main.h3
-rw-r--r--sim/ft32/ChangeLog4
-rw-r--r--sim/ft32/interp.c6
-rw-r--r--sim/h8300/ChangeLog4
-rw-r--r--sim/h8300/compile.c6
-rw-r--r--sim/iq2000/ChangeLog4
-rw-r--r--sim/iq2000/sim-if.c9
-rw-r--r--sim/lm32/ChangeLog4
-rw-r--r--sim/lm32/sim-if.c9
-rw-r--r--sim/m32r/ChangeLog4
-rw-r--r--sim/m32r/sim-if.c9
-rw-r--r--sim/m68hc11/ChangeLog4
-rw-r--r--sim/m68hc11/interp.c16
-rw-r--r--sim/mcore/ChangeLog4
-rw-r--r--sim/mcore/interp.c6
-rw-r--r--sim/microblaze/ChangeLog4
-rw-r--r--sim/microblaze/interp.c6
-rw-r--r--sim/mips/ChangeLog8
-rw-r--r--sim/mips/interp.c21
-rw-r--r--sim/mips/sim-main.h2
-rw-r--r--sim/mn10300/ChangeLog4
-rw-r--r--sim/mn10300/interp.c8
-rw-r--r--sim/moxie/ChangeLog4
-rw-r--r--sim/moxie/interp.c7
-rw-r--r--sim/msp430/ChangeLog7
-rw-r--r--sim/msp430/msp430-sim.c4
-rw-r--r--sim/msp430/sim-main.h3
-rw-r--r--sim/sh/ChangeLog4
-rw-r--r--sim/sh/interp.c6
-rw-r--r--sim/sh64/ChangeLog4
-rw-r--r--sim/sh64/sim-if.c9
-rw-r--r--sim/v850/ChangeLog4
-rw-r--r--sim/v850/interp.c7
50 files changed, 173 insertions, 171 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index 577579c..f87e18b 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * wrapper.c (sim_close): Delete.
+
2015-07-14 Nick Clifton <nickc@redhat.com>
* armcopro.c: Remove extraneous whitespace.
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index b9b4a0b..79f0b1d 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -914,13 +914,6 @@ sim_open (SIM_OPEN_KIND kind,
}
void
-sim_close (SIM_DESC sd ATTRIBUTE_UNUSED,
- int quitting ATTRIBUTE_UNUSED)
-{
- /* Nothing to do. */
-}
-
-void
sim_stop_reason (SIM_DESC sd ATTRIBUTE_UNUSED,
enum sim_stop *reason,
int *sigrc)
diff --git a/sim/avr/ChangeLog b/sim/avr/ChangeLog
index 0c2963c..fa21734 100644
--- a/sim/avr/ChangeLog
+++ b/sim/avr/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/avr/interp.c b/sim/avr/interp.c
index a6588d3..0b84c3b 100644
--- a/sim/avr/interp.c
+++ b/sim/avr/interp.c
@@ -1758,12 +1758,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- sim_module_uninstall (sd);
-}
-
SIM_RC
sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char **argv, char **env)
{
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 2e62a74..b0205e3 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-10-11 Mike Frysinger <vapier@gentoo.org>
PR sim/18407
diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index 3013ca0..5ba204b 100644
--- a/sim/bfin/interp.c
+++ b/sim/bfin/interp.c
@@ -820,12 +820,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- sim_module_uninstall (sd);
-}
-
/* Some utils don't like having a NULL environ. */
static const char * const simple_env[] = { "HOME=/", "PATH=/bin", NULL };
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 2aa178c..151fc1b 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-close.o
+ * sim-close.c: New file.
+
2015-09-25 Andrew Bennett <andrew.bennett@imgtec.com>
Ali Lown <ali.lown@imgtec.com>
diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in
index 2f5ad89..aba97f7 100644
--- a/sim/common/Make-common.in
+++ b/sim/common/Make-common.in
@@ -173,6 +173,7 @@ SIM_COMMON_HW_OBJS = \
SIM_NEW_COMMON_OBJS = \
sim-arange.o \
sim-bits.o \
+ sim-close.o \
sim-command.o \
sim-config.o \
sim-core.o \
diff --git a/sim/common/sim-close.c b/sim/common/sim-close.c
new file mode 100644
index 0000000..a1458d4
--- /dev/null
+++ b/sim/common/sim-close.c
@@ -0,0 +1,57 @@
+/* Miscellaneous simulator utilities.
+
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
+ Contributed by Analog Devices, Inc. and Stephane Carrez.
+
+ This file is part of simulators.
+
+ 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 3 of the License, 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, see <http://www.gnu.org/licenses/>. */
+
+#include "sim-main.h"
+#include "sim-module.h"
+#include "gdb/remote-sim.h"
+
+/* Generic implementation of sim_close that works with simulators that use
+ sim-module for all custom runtime options. */
+
+#ifndef SIM_CLOSE_HOOK
+# define SIM_CLOSE_HOOK(sd, quitting)
+#endif
+
+void
+sim_close (SIM_DESC sd, int quitting)
+{
+ SIM_CLOSE_HOOK (sd, quitting);
+
+ /* If cgen is active, close it down. */
+#ifdef CGEN_ARCH
+# define __cgen_cpu_close(arch) arch##_cgen_cpu_close
+# define _cgen_cpu_close(arch) __cgen_cpu_close (arch)
+# define cgen_cpu_close _cgen_cpu_close (CGEN_ARCH)
+ cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
+#endif
+
+ /* Shut down all registered/active modules. */
+ sim_module_uninstall (sd);
+
+ /* Ensure that any resources allocated through the callback
+ mechanism are released. */
+ sim_io_shutdown (sd);
+
+ /* Break down all of the cpus. */
+ sim_cpu_free_all (sd);
+
+ /* Finally break down the sim state itself. */
+ sim_state_free (sd);
+}
diff --git a/sim/cr16/ChangeLog b/sim/cr16/ChangeLog
index ccc4abb..5cbb413 100644
--- a/sim/cr16/ChangeLog
+++ b/sim/cr16/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-11-10 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_cr16_translate_dmap_addr): Mark static.
diff --git a/sim/cr16/interp.c b/sim/cr16/interp.c
index 5b3f5bb..8af7aef 100644
--- a/sim/cr16/interp.c
+++ b/sim/cr16/interp.c
@@ -945,13 +945,6 @@ sim_open (SIM_OPEN_KIND kind, struct host_callback_struct *cb, struct bfd *abfd,
return sd;
}
-
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* Nothing to do. */
-}
-
uint8 *
dmem_addr (uint32 offset)
{
diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog
index ad3f186..42ff285 100644
--- a/sim/cris/ChangeLog
+++ b/sim/cris/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/cris/sim-if.c b/sim/cris/sim-if.c
index 36db517..9fb1e13 100644
--- a/sim/cris/sim-if.c
+++ b/sim/cris/sim-if.c
@@ -1060,13 +1060,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
return sd;
}
-
-void
-sim_close (SIM_DESC sd, int quitting ATTRIBUTE_UNUSED)
-{
- cris_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
-}
SIM_RC
sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog
index 765d7a5..4f22db7 100644
--- a/sim/d10v/ChangeLog
+++ b/sim/d10v/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-11-10 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_d10v_translate_dmap_addr): Mark static.
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index 9c059f7..1cb1d7c 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -866,13 +866,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
return sd;
}
-
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* Nothing to do. */
-}
-
uint8 *
dmem_addr (uint16 offset)
{
diff --git a/sim/frv/ChangeLog b/sim/frv/ChangeLog
index 44c920c..9ebf498 100644
--- a/sim/frv/ChangeLog
+++ b/sim/frv/ChangeLog
@@ -1,3 +1,11 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Rename to ...
+ (frv_sim_close): ... this. Delete calls to frv_cgen_cpu_close and
+ sim_module_uninstall.
+ * sim-main.h (frv_sim_close): Declare.
+ (SIM_CLOSE_HOOK): Define.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure.ac (AC_ARG_ENABLE(sim-trapdump)): Call AS_HELP_STRING.
diff --git a/sim/frv/sim-if.c b/sim/frv/sim-if.c
index 2668765..8c6ed6f 100644
--- a/sim/frv/sim-if.c
+++ b/sim/frv/sim-if.c
@@ -199,7 +199,7 @@ sim_open (kind, callback, abfd, argv)
}
void
-sim_close (sd, quitting)
+frv_sim_close (sd, quitting)
SIM_DESC sd;
int quitting;
{
@@ -211,9 +211,6 @@ sim_close (sd, quitting)
frv_cache_term (CPU_INSN_CACHE (cpu));
frv_cache_term (CPU_DATA_CACHE (cpu));
}
-
- frv_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
}
SIM_RC
diff --git a/sim/frv/sim-main.h b/sim/frv/sim-main.h
index d5a67cb..ef14d64 100644
--- a/sim/frv/sim-main.h
+++ b/sim/frv/sim-main.h
@@ -43,6 +43,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "profile.h"
void frv_sim_engine_halt_hook (SIM_DESC, SIM_CPU *, sim_cia);
+
+extern void frv_sim_close (SIM_DESC sd, int quitting);
+#define SIM_CLOSE_HOOK(...) frv_sim_close (__VA_ARGS__)
/* The _sim_cpu struct. */
diff --git a/sim/ft32/ChangeLog b/sim/ft32/ChangeLog
index f5b14ec..bb41fb8 100644
--- a/sim/ft32/ChangeLog
+++ b/sim/ft32/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-09-29 James Bowman <james.bowman@ftdichip.com>
* interp.c (step_once): Correct length for MEMSET and MEMCPY
diff --git a/sim/ft32/interp.c b/sim/ft32/interp.c
index f7daf1c..e2762b8 100644
--- a/sim/ft32/interp.c
+++ b/sim/ft32/interp.c
@@ -862,12 +862,6 @@ sim_open (SIM_OPEN_KIND kind,
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- sim_module_uninstall (sd);
-}
-
SIM_RC
sim_create_inferior (SIM_DESC sd,
struct bfd *abfd,
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog
index ce77765..b50c1a1 100644
--- a/sim/h8300/ChangeLog
+++ b/sim/h8300/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * compile.c (sim_close): Delete.
+
2015-11-09 Mike Frysinger <vapier@gentoo.org>
* compile.c (littleendian): Delete.
diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c
index f3f794d..e5460fa 100644
--- a/sim/h8300/compile.c
+++ b/sim/h8300/compile.c
@@ -4966,12 +4966,6 @@ sim_open (SIM_OPEN_KIND kind,
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* Nothing to do. */
-}
-
/* Called by gdb to load a program into memory. */
SIM_RC
diff --git a/sim/iq2000/ChangeLog b/sim/iq2000/ChangeLog
index 3eb722b..dcb6cc5 100644
--- a/sim/iq2000/ChangeLog
+++ b/sim/iq2000/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/iq2000/sim-if.c b/sim/iq2000/sim-if.c
index 8e79f4a..a72f5c0 100644
--- a/sim/iq2000/sim-if.c
+++ b/sim/iq2000/sim-if.c
@@ -155,15 +155,6 @@ sim_open (kind, callback, abfd, argv)
return sd;
}
-
-void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
-{
- iq2000_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
-}
SIM_RC
sim_create_inferior (sd, abfd, argv, envp)
diff --git a/sim/lm32/ChangeLog b/sim/lm32/ChangeLog
index 4b852db..59d3aa1 100644
--- a/sim/lm32/ChangeLog
+++ b/sim/lm32/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/lm32/sim-if.c b/sim/lm32/sim-if.c
index a82b428..3b0575a 100644
--- a/sim/lm32/sim-if.c
+++ b/sim/lm32/sim-if.c
@@ -246,15 +246,6 @@ sim_open (kind, callback, abfd, argv)
return sd;
}
-
-void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
-{
- lm32_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
-}
SIM_RC
sim_create_inferior (sd, abfd, argv, envp)
diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog
index b38c0a5..8919efc 100644
--- a/sim/m32r/ChangeLog
+++ b/sim/m32r/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/m32r/sim-if.c b/sim/m32r/sim-if.c
index d01bc0a..5fd8de0 100644
--- a/sim/m32r/sim-if.c
+++ b/sim/m32r/sim-if.c
@@ -179,15 +179,6 @@ sim_open (kind, callback, abfd, argv)
return sd;
}
-
-void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
-{
- m32r_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
-}
SIM_RC
sim_create_inferior (sd, abfd, argv, envp)
diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog
index 407e391..ba2db62 100644
--- a/sim/m68hc11/ChangeLog
+++ b/sim/m68hc11/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/m68hc11/interp.c b/sim/m68hc11/interp.c
index a1d98a7..bb93e6c 100644
--- a/sim/m68hc11/interp.c
+++ b/sim/m68hc11/interp.c
@@ -499,22 +499,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
return sd;
}
-
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* shut down modules */
- sim_module_uninstall (sd);
-
- /* Ensure that any resources allocated through the callback
- mechanism are released: */
- sim_io_shutdown (sd);
-
- /* FIXME - free SD */
- sim_state_free (sd);
- return;
-}
-
/* Generic implementation of sim_engine_run that works within the
sim_engine setjmp/longjmp framework. */
diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog
index 99e72de..70d7ae9 100644
--- a/sim/mcore/ChangeLog
+++ b/sim/mcore/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
index 64d148a..2a9f193 100644
--- a/sim/mcore/interp.c
+++ b/sim/mcore/interp.c
@@ -1452,12 +1452,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* nothing to do */
-}
-
SIM_RC
sim_create_inferior (SIM_DESC sd, struct bfd *prog_bfd, char **argv, char **env)
{
diff --git a/sim/microblaze/ChangeLog b/sim/microblaze/ChangeLog
index 765480c..cb6f742 100644
--- a/sim/microblaze/ChangeLog
+++ b/sim/microblaze/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c
index 93e622d..3ca5e1f 100644
--- a/sim/microblaze/interp.c
+++ b/sim/microblaze/interp.c
@@ -459,12 +459,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* Do nothing. */
-}
-
SIM_RC
sim_create_inferior (SIM_DESC sd, struct bfd *prog_bfd, char **argv, char **env)
{
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 2865266..149abb1 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,11 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Rename to ...
+ (mips_sim_close): ... this. Delete calls to sim_module_uninstall and
+ sim_io_shutdown.
+ * sim-main.h (mips_sim_close): Declare.
+ (SIM_CLOSE_HOOK): Define.
+
2015-09-25 Andrew Bennett <andrew.bennett@imgtec.com>
Ali Lown <ali.lown@imgtec.com>
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 9dc8964..8a584d3 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -834,34 +834,15 @@ get_insn_name (sim_cpu *cpu, int i)
}
void
-sim_close (SIM_DESC sd, int quitting)
+mips_sim_close (SIM_DESC sd, int quitting)
{
-#ifdef DEBUG
- printf("DBG: sim_close: entered (quitting = %d)\n",quitting);
-#endif
-
-
- /* "quitting" is non-zero if we cannot hang on errors */
-
- /* shut down modules */
- sim_module_uninstall (sd);
-
- /* Ensure that any resources allocated through the callback
- mechanism are released: */
- sim_io_shutdown (sd);
-
#if WITH_TRACE_ANY_P
if (tracefh != NULL && tracefh != stderr)
fclose(tracefh);
tracefh = NULL;
#endif
-
- /* FIXME - free SD */
-
- return;
}
-
int
sim_write (SIM_DESC sd, SIM_ADDR addr, const unsigned char *buffer, int size)
{
diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h
index 42d8db3..adf60c7 100644
--- a/sim/mips/sim-main.h
+++ b/sim/mips/sim-main.h
@@ -474,6 +474,8 @@ struct _sim_cpu {
sim_cpu_base base;
};
+extern void mips_sim_close (SIM_DESC sd, int quitting);
+#define SIM_CLOSE_HOOK(...) mips_sim_close (__VA_ARGS__)
/* MIPS specific simulator watch config */
diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog
index e1bd8f1..e00b48f 100644
--- a/sim/mn10300/ChangeLog
+++ b/sim/mn10300/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/mn10300/interp.c b/sim/mn10300/interp.c
index 14344fc..f3941ae 100644
--- a/sim/mn10300/interp.c
+++ b/sim/mn10300/interp.c
@@ -317,14 +317,6 @@ sim_open (SIM_OPEN_KIND kind,
return sd;
}
-
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- sim_module_uninstall (sd);
-}
-
-
SIM_RC
sim_create_inferior (SIM_DESC sd,
struct bfd *prog_bfd,
diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog
index 04b74ce..9f6cfde 100644
--- a/sim/moxie/ChangeLog
+++ b/sim/moxie/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-10-11 Mike Frysinger <vapier@gentoo.org>
PR sim/18273
diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
index df92cee..b2e6352 100644
--- a/sim/moxie/interp.c
+++ b/sim/moxie/interp.c
@@ -1246,13 +1246,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
return sd;
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* nothing to do */
-}
-
-
/* Load the device tree blob. */
static void
diff --git a/sim/msp430/ChangeLog b/sim/msp430/ChangeLog
index 08da33d..de174bf 100644
--- a/sim/msp430/ChangeLog
+++ b/sim/msp430/ChangeLog
@@ -1,3 +1,10 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Rename to ...
+ (msp430_sim_close): ... this. Delete call to sim_state_free.
+ * sim-main.h (msp430_sim_close): Declare.
+ (SIM_CLOSE_HOOK): Define.
+
2015-06-24 Mike Frysinger <vapier@gentoo.org>
* msp430-sim.c (trace_reg_put): Change TRACE_VPU to TRACE_REGISTER.
diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
index f32cb69..7f329c4 100644
--- a/sim/msp430/msp430-sim.c
+++ b/sim/msp430/msp430-sim.c
@@ -239,11 +239,9 @@ sim_open (SIM_OPEN_KIND kind,
}
void
-sim_close (SIM_DESC sd,
- int quitting)
+msp430_sim_close (SIM_DESC sd, int quitting)
{
free (STATE_SYMBOL_TABLE (sd));
- sim_state_free (sd);
}
SIM_RC
diff --git a/sim/msp430/sim-main.h b/sim/msp430/sim-main.h
index 19c8cca..aa51c15 100644
--- a/sim/msp430/sim-main.h
+++ b/sim/msp430/sim-main.h
@@ -54,4 +54,7 @@ struct sim_state
#include "sim-engine.h"
#include "sim-options.h"
+extern void msp430_sim_close (SIM_DESC sd, int quitting);
+#define SIM_CLOSE_HOOK(...) msp430_sim_close (__VA_ARGS__)
+
#endif /* _MSP430_MAIN_SIM_H_ */
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index 458d0c3..d19a881 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/sh/interp.c b/sim/sh/interp.c
index 2f02e69..55a2d64 100644
--- a/sim/sh/interp.c
+++ b/sim/sh/interp.c
@@ -2501,12 +2501,6 @@ parse_and_set_memory_size (const char *str)
callback->printf_filtered (callback, "Bad memory size %d; must be 1 to 24, inclusive\n", n);
}
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- /* nothing to do */
-}
-
SIM_RC
sim_create_inferior (SIM_DESC sd, struct bfd *prog_bfd, char **argv, char **env)
{
diff --git a/sim/sh64/ChangeLog b/sim/sh64/ChangeLog
index cff434d..2643913 100644
--- a/sim/sh64/ChangeLog
+++ b/sim/sh64/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-if.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/sh64/sim-if.c b/sim/sh64/sim-if.c
index 200552d..29e0936 100644
--- a/sim/sh64/sim-if.c
+++ b/sim/sh64/sim-if.c
@@ -161,15 +161,6 @@ sim_open (kind, callback, abfd, argv)
return sd;
}
-
-void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
-{
- sh_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
-}
SIM_RC
sim_create_inferior (sd, abfd, argv, envp)
diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog
index e0b0f18..e0b92d9 100644
--- a/sim/v850/ChangeLog
+++ b/sim/v850/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-14 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (sim_close): Delete.
+
2015-06-23 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/v850/interp.c b/sim/v850/interp.c
index 5b46feb..f055149 100644
--- a/sim/v850/interp.c
+++ b/sim/v850/interp.c
@@ -303,13 +303,6 @@ sim_open (SIM_OPEN_KIND kind,
return sd;
}
-
-void
-sim_close (SIM_DESC sd, int quitting)
-{
- sim_module_uninstall (sd);
-}
-
SIM_RC
sim_create_inferior (SIM_DESC sd,
struct bfd * prog_bfd,