/* Miscellaneous simulator utilities.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
+ Copyright (C) 1997-2018 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GDB, the GNU debugger.
#include "bfd.h"
#include "sim-utils.h"
-/* Global pointer to all state data.
- Set by sim_resume. */
-struct sim_state *current_state;
-
/* Allocate zero filled memory with xcalloc - xcalloc aborts if the
allocation fails. */
void
sim_state_free (SIM_DESC sd)
{
- ASSERT (sd->base.magic == SIM_MAGIC_NUMBER);
+ ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
#ifdef SIM_STATE_FREE
SIM_STATE_FREE (sd);
bfd open. */
SIM_RC
-sim_analyze_program (SIM_DESC sd, char *prog_name, bfd *prog_bfd)
+sim_analyze_program (SIM_DESC sd, const char *prog_name, bfd *prog_bfd)
{
asection *s;
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
{
va_list ap;
char *buf;
+ int ret;
+
va_start (ap, fmt);
- if (vasprintf (&buf, fmt, ap) < 0)
+ ret = vasprintf (&buf, fmt, ap);
+ va_end (ap);
+
+ if (ret < 0)
{
sim_io_eprintf (sd, "%s: asprintf failed for `%s'\n",
STATE_MY_NAME (sd), fmt);
return;
}
+
sim_do_command (sd, buf);
- va_end (ap);
free (buf);
}