Index: gdb/remote-sim.c |
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c |
index 2a586e5e80ee4e44d1291f7bd3e7957358351e8e..f5927f2d9668a48c53b7251a2f62371b36a03e3f 100644 |
--- a/gdb/remote-sim.c |
+++ b/gdb/remote-sim.c |
@@ -118,7 +118,7 @@ struct sim_inferior_data { |
ptid_t remote_sim_ptid; |
/* Signal with which to resume. */ |
- enum target_signal resume_siggnal; |
+ enum gdb_signal resume_siggnal; |
/* Flag which indicates whether resume should step or not. */ |
int resume_step; |
@@ -217,7 +217,7 @@ get_sim_inferior_data (struct inferior *inf, int sim_instance_needed) |
/* Initialize the other instance variables. */ |
sim_data->program_loaded = 0; |
sim_data->gdbsim_desc = sim_desc; |
- sim_data->resume_siggnal = TARGET_SIGNAL_0; |
+ sim_data->resume_siggnal = GDB_SIGNAL_0; |
sim_data->resume_step = 0; |
} |
else if (sim_desc) |
@@ -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)); |
@@ -835,7 +838,7 @@ gdbsim_detach (struct target_ops *ops, char *args, int from_tty) |
struct resume_data |
{ |
- enum target_signal siggnal; |
+ enum gdb_signal siggnal; |
int step; |
}; |
@@ -864,7 +867,7 @@ gdbsim_resume_inferior (struct inferior *inf, void *arg) |
static void |
gdbsim_resume (struct target_ops *ops, |
- ptid_t ptid, int step, enum target_signal siggnal) |
+ ptid_t ptid, int step, enum gdb_signal siggnal) |
{ |
struct resume_data rd; |
struct sim_inferior_data *sim_data |
@@ -1025,11 +1028,11 @@ gdbsim_wait (struct target_ops *ops, |
case sim_stopped: |
switch (sigrc) |
{ |
- case TARGET_SIGNAL_ABRT: |
+ case GDB_SIGNAL_ABRT: |
quit (); |
break; |
- case TARGET_SIGNAL_INT: |
- case TARGET_SIGNAL_TRAP: |
+ case GDB_SIGNAL_INT: |
+ case GDB_SIGNAL_TRAP: |
default: |
status->kind = TARGET_WAITKIND_STOPPED; |
status->value.sig = sigrc; |
@@ -1195,16 +1198,28 @@ simulator_command (char *args, int from_tty) |
registers_changed (); |
} |
-static char ** |
+static VEC (char_ptr) * |
sim_command_completer (struct cmd_list_element *ignore, char *text, char *word) |
{ |
struct sim_inferior_data *sim_data; |
+ char **tmp; |
+ int i; |
+ VEC (char_ptr) *result = NULL; |
sim_data = inferior_data (current_inferior (), sim_inferior_data_key); |
if (sim_data == NULL || sim_data->gdbsim_desc == NULL) |
return NULL; |
- return sim_complete_command (sim_data->gdbsim_desc, text, word); |
+ tmp = sim_complete_command (sim_data->gdbsim_desc, text, word); |
+ if (tmp == NULL) |
+ return NULL; |
+ |
+ /* Transform the array into a VEC, and then free the array. */ |
+ for (i = 0; tmp[i] != NULL; i++) |
+ VEC_safe_push (char_ptr, result, tmp[i]); |
+ xfree (tmp); |
+ |
+ return result; |
} |
/* Check to see if a thread is still alive. */ |
@@ -1236,7 +1251,7 @@ gdbsim_pid_to_str (struct target_ops *ops, ptid_t ptid) |
/* Simulator memory may be accessed after the program has been loaded. */ |
-int |
+static int |
gdbsim_has_all_memory (struct target_ops *ops) |
{ |
struct sim_inferior_data *sim_data |
@@ -1248,7 +1263,7 @@ gdbsim_has_all_memory (struct target_ops *ops) |
return 1; |
} |
-int |
+static int |
gdbsim_has_memory (struct target_ops *ops) |
{ |
struct sim_inferior_data *sim_data |