summaryrefslogtreecommitdiff
path: root/sim/moxie
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-02-27 01:24:37 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-02-27 01:24:37 +0000
commite8e532599625996095d7a41e54a0e57b4856c71d (patch)
treeef09fad26911ef1fbd8448031f17fa5c34b9bd11 /sim/moxie
parent4efa96f5684f25f148794e7afd5ca1672b0c139b (diff)
downloadgdb-e8e532599625996095d7a41e54a0e57b4856c71d.tar.gz
sim/moxie/
* interp.c (sim_create_inferior): Fix crashes on zero PROG_BFD or ARGV.
Diffstat (limited to 'sim/moxie')
-rw-r--r--sim/moxie/ChangeLog4
-rw-r--r--sim/moxie/interp.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog
index c2c1c659fd4..043927d2b95 100644
--- a/sim/moxie/ChangeLog
+++ b/sim/moxie/ChangeLog
@@ -1,3 +1,7 @@
+2010-02-27 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * interp.c (sim_create_inferior): Fix crashes on zero PROG_BFD or ARGV.
+
2010-02-03 Anthony Green <green@moxielogic.com>
* interp.c (sim_resume): nop is 0x0f, and 0x00 is an illegal
diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
index a608416eb4a..079ef9b1fff 100644
--- a/sim/moxie/interp.c
+++ b/sim/moxie/interp.c
@@ -1307,11 +1307,12 @@ sim_create_inferior (sd, prog_bfd, argv, env)
set_initial_gprs ();
issue_messages = l;
- cpu.asregs.regs[PC_REGNO] = bfd_get_start_address (prog_bfd);
+ if (prog_bfd != NULL)
+ cpu.asregs.regs[PC_REGNO] = bfd_get_start_address (prog_bfd);
/* Copy args into target memory. */
avp = argv;
- for (argc = 0; *avp; avp++)
+ for (argc = 0; avp && *avp; avp++)
argc++;
/* Target memory looks like this: