sim: sim-close: unify sim_close logic
authorMike Frysinger <vapier@gentoo.org>
Mon, 23 Mar 2015 03:10:09 +0000 (23:10 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sun, 15 Nov 2015 07:30:19 +0000 (02:30 -0500)
Other than the nice advantage of all sims having to declare one fewer
common function, this also fixes leakage in pretty much every sim.
Many were not freeing any resources, and a few were inconsistent as
to the ones they did.  Now we have a single module that takes care of
all the logic for us.

Most of the non-cgen based ones could be deleted outright.  The cgen
ones required adding a callback to the arch-specific cleanup func.
The few that still have close callbacks are to manage their internal
state.

We do not convert erc32, m32c, ppc, rl78, or rx as they do not use
the common sim core.

50 files changed:
sim/arm/ChangeLog
sim/arm/wrapper.c
sim/avr/ChangeLog
sim/avr/interp.c
sim/bfin/ChangeLog
sim/bfin/interp.c
sim/common/ChangeLog
sim/common/Make-common.in
sim/common/sim-close.c [new file with mode: 0644]
sim/cr16/ChangeLog
sim/cr16/interp.c
sim/cris/ChangeLog
sim/cris/sim-if.c
sim/d10v/ChangeLog
sim/d10v/interp.c
sim/frv/ChangeLog
sim/frv/sim-if.c
sim/frv/sim-main.h
sim/ft32/ChangeLog
sim/ft32/interp.c
sim/h8300/ChangeLog
sim/h8300/compile.c
sim/iq2000/ChangeLog
sim/iq2000/sim-if.c
sim/lm32/ChangeLog
sim/lm32/sim-if.c
sim/m32r/ChangeLog
sim/m32r/sim-if.c
sim/m68hc11/ChangeLog
sim/m68hc11/interp.c
sim/mcore/ChangeLog
sim/mcore/interp.c
sim/microblaze/ChangeLog
sim/microblaze/interp.c
sim/mips/ChangeLog
sim/mips/interp.c
sim/mips/sim-main.h
sim/mn10300/ChangeLog
sim/mn10300/interp.c
sim/moxie/ChangeLog
sim/moxie/interp.c
sim/msp430/ChangeLog
sim/msp430/msp430-sim.c
sim/msp430/sim-main.h
sim/sh/ChangeLog
sim/sh/interp.c
sim/sh64/ChangeLog
sim/sh64/sim-if.c
sim/v850/ChangeLog
sim/v850/interp.c

index 577579c291d121f7676a8ea015a12a6271070bad..f87e18b538446a4c1c56fd974831a2ef8a444567 100644 (file)
@@ -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.
index b9b4a0be88f12c51d8b2853d1948f5ef22aaf4a5..79f0b1d36990dfa3690f7099d758d76212cde1f7 100644 (file)
@@ -913,13 +913,6 @@ sim_open (SIM_OPEN_KIND kind,
   return sd;
 }
 
-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,
index 0c2963c0c77836328f5fc4fa882a1c68926fa2c3..fa21734e083102beac38eadf16a8c68af0a7d398 100644 (file)
@@ -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.
index a6588d3de4fc2b93979572ed583cf80ec164ee7a..0b84c3b45726f1779f0dfcb23fac1aeba87e4830 100644 (file)
@@ -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)
 {
index 2e62a74de34abab98e402c8eb970c7d6b7850950..b0205e3a94994df71abe91a9df43e1d338f51f1b 100644 (file)
@@ -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
index 3013ca05928a06c7b538bb489ae8bfe9149a1398..5ba204b0e067139df7fe1e28b9fc00ecf9786c0c 100644 (file)
@@ -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 };
 
index 2aa178c8d83e8739c7b99528301006b816a27e34..151fc1bde77e1181fb211b4b8b8b8c2b11409461 100644 (file)
@@ -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>
 
index 2f5ad89e164f53be98cc4a88db651b0cd93e5153..aba97f7da1e95f6afc56e5b1e3ded31ff842bc0f 100644 (file)
@@ -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 (file)
index 0000000..a1458d4
--- /dev/null
@@ -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);
+}
index ccc4abb326ae405cdfc86dc9945c17a0857f7a44..5cbb4131940dc29da5a74c922dfeb504edd2e8bd 100644 (file)
@@ -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.
index 5b3f5bb81bfa53c87cbcddad1f238e048633f569..8af7aefecda87189f2901e241b3fb9acd0da64f3 100644 (file)
@@ -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)
 {
index ad3f18645907c0029a35a4713e341c9178abb9cc..42ff2854e790783ef9f23ccd37996adfffa2379a 100644 (file)
@@ -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.
index 36db51764cc15bce0083410a034d08806ef53b95..9fb1e13972d33b48556bc2908894e02dd0727b9e 100644 (file)
@@ -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);
-}
 \f
 SIM_RC
 sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
index 765d7a536ce435b177f1a1bd845c9b91b51ab88c..4f22db7936b22d59212aafaa4f3ad54ca92de770 100644 (file)
@@ -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.
index 9c059f72be768e78f2385f6d015b90b5cb677c12..1cb1d7c4616be1fa53fec7152b58bcd70a483116 100644 (file)
@@ -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)
 {
index 44c920c6e7a03b68c0564df765f2d5f73357d2ee..9ebf4985149d739e4f82e9f72292abf97de06504 100644 (file)
@@ -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.
index 266876539e8926ddb29b8d5c6b2b4be622c6c8f5..8c6ed6ffc0341470911da933c74440c15461dfd0 100644 (file)
@@ -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);
 }
 \f
 SIM_RC
index d5a67cb816765314cb1947d936b20228f827d3e3..ef14d64c5ecd6247a55664eaf0bb77aaec52459a 100644 (file)
@@ -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__)
 \f
 /* The _sim_cpu struct.  */
 
index f5b14ec15ad14c034235b45b782695733318ee33..bb41fb80030651e07081232fa73f8882228e29dd 100644 (file)
@@ -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
index f7daf1c1679893b59f2340eac831828cd7eb7808..e2762b8e156fc732ea84345d5ed463bfe8bcbbab 100644 (file)
@@ -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,
index ce77765a1710b7da807571d98474c565b9ebfa08..b50c1a1e893b6655587f6c1abdbd9ac37d5f440e 100644 (file)
@@ -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.
index f3f794d8ebdc2b93584472ec6054f8a35131959e..e5460fa660a741c413912000bec37c0ad7b440a9 100644 (file)
@@ -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
index 3eb722bfaa62ec88ce415efa779447104dee5d0d..dcb6cc55c3f3aa687b8a205cd375583b82ba3ffe 100644 (file)
@@ -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.
index 8e79f4aefd44b8e7131d39f6ee399ddb978d47b5..a72f5c0cb71181d06caddba768d14f96525ac6a7 100644 (file)
@@ -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);
-}
 \f
 SIM_RC
 sim_create_inferior (sd, abfd, argv, envp)
index 4b852db98fc072f88613d73a272a7cba3b6f55e4..59d3aa1250937591141ee29756fd6a598ad23cda 100644 (file)
@@ -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.
index a82b42810f5c8b327cfdbd1be44a63f7a2481089..3b0575a7a627bd343a120c9029675ce92d0b736f 100644 (file)
@@ -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);
-}
 \f
 SIM_RC
 sim_create_inferior (sd, abfd, argv, envp)
index b38c0a55fa979540ca2ac72fd62a66cebf36d97f..8919efc0ebcc5928296597ba0aaea6cb9ca31781 100644 (file)
@@ -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.
index d01bc0a5573c64c031d9fe2debb6c90573fcde16..5fd8de0b5db2a1aec76d837388f250a4281c3f05 100644 (file)
@@ -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);
-}
 \f
 SIM_RC
 sim_create_inferior (sd, abfd, argv, envp)
index 407e391953f80273713b8110f9ca29d5003557e1..ba2db62b6e2394d57d58fc7407ae5e097150d095 100644 (file)
@@ -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.
index a1d98a732bc9e0ddc5a9551d6d8ce7e3b57f3e9f..bb93e6ca981d724cd534427d46f95d0fa0c325cd 100644 (file)
@@ -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. */
 
index 99e72ded516b956ac2a6ccf2e4aafff3ad100526..70d7ae92fcc2099228965562a6dd06cc039d50f9 100644 (file)
@@ -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.
index 64d148a10b03257fc7f0aad66ad9aa9523edfb80..2a9f19378746cd0b38c141aab777853940ec9413 100644 (file)
@@ -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)
 {
index 765480c14fb17fa70ed53762381b34886da3b73e..cb6f742eeb9c4f7fd05d1aa6e631a6787d42313b 100644 (file)
@@ -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.
index 93e622dc5f8658ed3ded9f18e4e429f48aa68a0d..3ca5e1f67910dd1e5873ec7ef0a1f57a0acbe50c 100644 (file)
@@ -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)
 {
index 2865266135c50f8b961590b7eb66fa6a5b671d3b..149abb1eabe04ec03a5dbf1df32a34cf56c5df0d 100644 (file)
@@ -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>
 
index 9dc896434f89e8d6d9b63cb9f52c8eb3d983c76d..8a584d3cd244f2e3bd51489b0fc78bc807a0180e 100644 (file)
@@ -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)
 {
index 42d8db37c4bfa19d76ed60664a110ebe5646ebe7..adf60c7885c83bcd407da37e18d076b7e2921edf 100644 (file)
@@ -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 */
 
index e1bd8f104b7ccff44c7d5ea8687eec77ff39be85..e00b48fd31a6eeca20407dd3648f658b140a5236 100644 (file)
@@ -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.
index 14344fc2ecba635370a496dbcd76b449b1beca0e..f3941ae0d2dcf7e6c6bbe780e93f97e188e06eb3 100644 (file)
@@ -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,
index 04b74ce277a39574425af5af6e401d9fcb27aa94..9f6cfde92ec14c63c227ec8b81a23ca2a1a2201c 100644 (file)
@@ -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
index df92cee39d9d68b20b6b84da1a0fcc6e9adcdfd1..b2e6352357bf8c93a8a1c976c987acd47dba98d9 100644 (file)
@@ -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
index 08da33dc2da68c5c5894d8665a5fba77b8aafc44..de174bf64aeeae79f6b0b8fc0bc97bb4eb2ecdc7 100644 (file)
@@ -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.
index f32cb69030c1a92d07b1813987b6809ce502f8f0..7f329c42ea9259ad0027c934cd4134dceaf8ed1b 100644 (file)
@@ -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
index 19c8ccaf868469de7d60b7f51f153fb7cb494e37..aa51c15888efe355a33387bfc117cb709ea2a3de 100644 (file)
@@ -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_ */
index 458d0c3cb71edc6da72df5e832c71d92d80ccdd7..d19a88150312abaedde0f8c3acb617a5c4920b0e 100644 (file)
@@ -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.
index 2f02e69382c7e39073be5a0bb7e30d1e001ede28..55a2d64966879f4e6c5294d6c547661989bad2d2 100644 (file)
@@ -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)
 {
index cff434d0b34abe6f887d1b84bf5efb93b7f97fad..26439132a8633cf2bd44177809aaea84855eebcf 100644 (file)
@@ -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.
index 200552d35de2de242fa8e303c94ac868ea8bea68..29e0936ed20aaab5196fec3a4d9389cf7f9db05d 100644 (file)
@@ -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);
-}
 \f
 SIM_RC
 sim_create_inferior (sd, abfd, argv, envp)
index e0b0f184df5d266f4a65a37608227a28f4e148b6..e0b92d9425227e73cc9647245b57a2fa95cbace2 100644 (file)
@@ -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.
index 5b46feb503ee8cc73015da50b6e03c6de3807021..f055149cce6366aaec99c3c2105e8d07fe207749 100644 (file)
@@ -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,