aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-module.c
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>1998-02-25 08:37:11 +0000
committerDoug Evans <dje@google.com>1998-02-25 08:37:11 +0000
commitc248113005c23176daaa3bc521ee40d0e832f5e4 (patch)
tree5ce5b53f92906378e0588610aafe7ba466dd2920 /sim/common/sim-module.c
parent95bb4ad1443bf8904872c220ecf7666240d8111a (diff)
downloadgdb-c248113005c23176daaa3bc521ee40d0e832f5e4.zip
gdb-c248113005c23176daaa3bc521ee40d0e832f5e4.tar.gz
gdb-c248113005c23176daaa3bc521ee40d0e832f5e4.tar.bz2
delete FIXME
Diffstat (limited to 'sim/common/sim-module.c')
-rw-r--r--sim/common/sim-module.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sim/common/sim-module.c b/sim/common/sim-module.c
index e58e6f3..323d3e4 100644
--- a/sim/common/sim-module.c
+++ b/sim/common/sim-module.c
@@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* List of all modules. */
static MODULE_INSTALL_FN * const modules[] = {
standard_install,
+ sim_events_install,
#if WITH_ENGINE
sim_engine_install,
#endif
@@ -42,16 +43,18 @@ static MODULE_INSTALL_FN * const modules[] = {
/* FIXME: should handle flatmem as well FLATMEM */
sim_memopt_install,
#endif
- sim_events_install,
#if WITH_WATCHPOINTS
sim_watchpoint_install,
#endif
#if WITH_SCACHE
scache_install,
#endif
-#ifdef SIM_HAVE_MODEL /* FIXME: temporary */
+#ifdef SIM_HAVE_MODEL
model_install,
#endif
+#ifdef SIM_HAVE_BREAKPOINTS
+ sim_break_install,
+#endif
/* Configured in [simulator specific] additional modules. */
#ifdef MODULE_LIST
MODULE_LIST
@@ -96,7 +99,8 @@ sim_post_argv_init (SIM_DESC sd)
return SIM_RC_OK;
}
-/* Install all modules. */
+/* Install all modules.
+ If this fails, no modules are left installed. */
SIM_RC
sim_module_install (SIM_DESC sd)
@@ -107,7 +111,10 @@ sim_module_install (SIM_DESC sd)
for (modp = modules; *modp != NULL; ++modp)
{
if ((*modp) (sd) != SIM_RC_OK)
- return SIM_RC_FAIL;
+ {
+ sim_module_uninstall (sd);
+ return SIM_RC_FAIL;
+ }
}
return SIM_RC_OK;
}