aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-02-16 18:30:43 +0000
committerMike Frysinger <vapier@gentoo.org>2012-02-16 18:30:43 +0000
commitddd60447d562534f4bfe3f9bd89b9943204861c7 (patch)
treee9036169bc2e4e3c5b349de3ac43fe267251b3d9
parentb0d32fb61e974e283300e836c34cfaa94ab1c03d (diff)
downloadfsf-binutils-gdb-ddd60447d562534f4bfe3f9bd89b9943204861c7.zip
fsf-binutils-gdb-ddd60447d562534f4bfe3f9bd89b9943204861c7.tar.gz
fsf-binutils-gdb-ddd60447d562534f4bfe3f9bd89b9943204861c7.tar.bz2
gdb: sim: check return value of sim_create_inferior
The current gdbsim_create_inferior func doesn't check the return value of sim_create_inferior which can be problematic when that func doesn't return success. So, if it fails, call error() and be done. Reported-by: Richard Stuckey <richard.stuckey@arc.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/remote-sim.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 66faf85..261b54e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2012-02-16 Mike Frysinger <vapier@gentoo.org>
+
+ PR gdb/9734:
+ * remote-sim.c (gdbsim_create_inferior): Call error() when
+ sim_create_inferior() fails.
+
2012-02-16 Josh Matthews <josh@joshmatthews.net>
* machoread.c: Initialize nbr_syms to avoid warnings-as-errors failure.
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 2a586e5..ee73cce 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -641,7 +641,10 @@ gdbsim_create_inferior (struct target_ops *target, char *exec_file, char *args,
}
else
argv = NULL;
- sim_create_inferior (sim_data->gdbsim_desc, exec_bfd, argv, env);
+
+ if (sim_create_inferior (sim_data->gdbsim_desc, exec_bfd, argv, env)
+ != SIM_RC_OK)
+ error (_("Unable to create sim inferior."));
inferior_ptid = sim_data->remote_sim_ptid;
inferior_appeared (current_inferior (), ptid_get_pid (inferior_ptid));