diff options
Diffstat (limited to 'gdb/remote-sim.c')
-rw-r--r-- | gdb/remote-sim.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c index d87f66842b7..adc77e7bc1b 100644 --- a/gdb/remote-sim.c +++ b/gdb/remote-sim.c @@ -273,28 +273,26 @@ sim_inferior_data_cleanup (struct inferior *inf, void *data) static void dump_mem (char *buf, int len) { - if (len <= 8) + printf_filtered ("\t"); + + if (len == 8 || len == 4) { - if (len == 8 || len == 4) - { - long l[2]; + uint32_t l[2]; - memcpy (l, buf, len); - printf_filtered ("\t0x%lx", l[0]); - if (len == 8) - printf_filtered (" 0x%lx", l[1]); - printf_filtered ("\n"); - } - else - { - int i; + memcpy (l, buf, len); + printf_filtered ("0x%08x", l[0]); + if (len == 8) + printf_filtered (" 0x%08x", l[1]); + } + else + { + int i; - printf_filtered ("\t"); - for (i = 0; i < len; i++) - printf_filtered ("0x%x ", buf[i]); - printf_filtered ("\n"); - } + for (i = 0; i < len; i++) + printf_filtered ("0x%02x ", buf[i]); } + + printf_filtered ("\n"); } /* Initialize gdb_callback. */ @@ -642,6 +640,9 @@ gdbsim_create_inferior (struct target_ops *target, char *exec_file, char *args, else argv = NULL; + if (!have_inferiors ()) + init_thread_list (); + if (sim_create_inferior (sim_data->gdbsim_desc, exec_bfd, argv, env) != SIM_RC_OK) error (_("Unable to create sim inferior.")); |