aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/moxie/ChangeLog5
-rw-r--r--sim/moxie/interp.c16
2 files changed, 21 insertions, 0 deletions
diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog
index c553855..7a3c0fa 100644
--- a/sim/moxie/ChangeLog
+++ b/sim/moxie/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-13 Anthony Green <green@moxielogic.com>
+
+ * interp.c (sim_open): Initialize the SIM_DESC object properly
+ with sim_config() and sim_post_argv_init().
+
2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
index 8b8879f..8d280f2 100644
--- a/sim/moxie/interp.c
+++ b/sim/moxie/interp.c
@@ -1176,6 +1176,22 @@ sim_open (kind, cb, abfd, argv)
set_initial_gprs (); /* Reset the GPR registers. */
+ /* Configure/verify the target byte order and other runtime
+ configuration options */
+ if (sim_config (sd) != SIM_RC_OK)
+ {
+ sim_module_uninstall (sd);
+ return 0;
+ }
+
+ if (sim_post_argv_init (sd) != SIM_RC_OK)
+ {
+ /* Uninstall the modules to avoid memory leaks,
+ file descriptor leaks, etc. */
+ sim_module_uninstall (sd);
+ return 0;
+ }
+
return sd;
}