diff options
Diffstat (limited to 'sim/moxie')
-rw-r--r-- | sim/moxie/ChangeLog | 5 | ||||
-rw-r--r-- | sim/moxie/interp.c | 16 |
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; } |