projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
binutils: support for the SPARC M8 processor
[deliverable/binutils-gdb.git]
/
sim
/
common
/
sim-utils.c
diff --git
a/sim/common/sim-utils.c
b/sim/common/sim-utils.c
index 38a94fa5530ddede7c40a2f9651b2bcc6fba8e1d..7f385a5463d7db9e4058b6e914d750f7b0de82fd 100644
(file)
--- a/
sim/common/sim-utils.c
+++ b/
sim/common/sim-utils.c
@@
-1,5
+1,5
@@
/* Miscellaneous simulator utilities.
/* Miscellaneous simulator utilities.
- Copyright (C) 1997
, 1998, 200
7 Free Software Foundation, Inc.
+ Copyright (C) 1997
-201
7 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GDB, the GNU debugger.
Contributed by Cygnus Support.
This file is part of GDB, the GNU debugger.
@@
-48,25
+48,13
@@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "bfd.h"
#include "sim-utils.h"
#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 xmalloc - xmalloc aborts of the
+/* Allocate zero filled memory with xcalloc - xcalloc aborts if the
allocation fails. */
void *
zalloc (unsigned long size)
{
allocation fails. */
void *
zalloc (unsigned long size)
{
- void *memory = (void *) xmalloc (size);
- memset (memory, 0, size);
- return memory;
-}
-
-void
-zfree (void *data)
-{
- free (data);
+ return xcalloc (1, size);
}
/* Allocate a sim_state struct. */
}
/* Allocate a sim_state struct. */
@@
-113,13
+101,13
@@
sim_state_alloc (SIM_OPEN_KIND kind,
void
sim_state_free (SIM_DESC sd)
{
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);
#endif
#ifdef SIM_STATE_FREE
SIM_STATE_FREE (sd);
#endif
-
z
free (sd);
+ free (sd);
}
/* Return a pointer to the cpu data for CPU_NAME, or NULL if not found. */
}
/* Return a pointer to the cpu data for CPU_NAME, or NULL if not found. */
@@
-171,7
+159,7
@@
sim_io_eprintf_cpu (sim_cpu *cpu, const char *fmt, ...)
va_list ap;
va_start (ap, fmt);
va_list ap;
va_start (ap, fmt);
- sim_io_eprintf (sd, sim_cpu_msg_prefix (cpu));
+ sim_io_eprintf (sd,
"%s",
sim_cpu_msg_prefix (cpu));
sim_io_evprintf (sd, fmt, ap);
va_end (ap);
}
sim_io_evprintf (sd, fmt, ap);
va_end (ap);
}
@@
-219,10
+207,7
@@
sim_add_commas (char *buf, int sizeof_buf, unsigned long value)
bfd open. */
SIM_RC
bfd open. */
SIM_RC
-sim_analyze_program (sd, prog_name, prog_bfd)
- 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);
{
asection *s;
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
@@
-245,13
+230,13
@@
sim_analyze_program (sd, prog_name, prog_bfd)
prog_bfd = bfd_openr (prog_name, STATE_TARGET (sd));
if (prog_bfd == NULL)
{
prog_bfd = bfd_openr (prog_name, STATE_TARGET (sd));
if (prog_bfd == NULL)
{
- sim_io_eprintf (sd, "%s: can't open \"%s\": %s\n",
+ sim_io_eprintf (sd, "%s: can't open \"%s\": %s\n",
STATE_MY_NAME (sd),
prog_name,
bfd_errmsg (bfd_get_error ()));
return SIM_RC_FAIL;
}
STATE_MY_NAME (sd),
prog_name,
bfd_errmsg (bfd_get_error ()));
return SIM_RC_FAIL;
}
- if (!bfd_check_format (prog_bfd, bfd_object))
+ if (!bfd_check_format (prog_bfd, bfd_object))
{
sim_io_eprintf (sd, "%s: \"%s\" is not an object file: %s\n",
STATE_MY_NAME (sd),
{
sim_io_eprintf (sd, "%s: \"%s\" is not an object file: %s\n",
STATE_MY_NAME (sd),
@@
-296,7
+281,7
@@
sim_analyze_program (sd, prog_name, prog_bfd)
/* Called before sim_elapsed_time_since to get a reference point. */
SIM_ELAPSED_TIME
/* Called before sim_elapsed_time_since to get a reference point. */
SIM_ELAPSED_TIME
-sim_elapsed_time_get ()
+sim_elapsed_time_get (
void
)
{
#ifdef HAVE_GETRUSAGE
struct rusage mytime;
{
#ifdef HAVE_GETRUSAGE
struct rusage mytime;
@@
-316,8
+301,7
@@
sim_elapsed_time_get ()
The actual time may be cpu usage (preferred) or wall clock. */
unsigned long
The actual time may be cpu usage (preferred) or wall clock. */
unsigned long
-sim_elapsed_time_since (start)
- SIM_ELAPSED_TIME start;
+sim_elapsed_time_since (SIM_ELAPSED_TIME start)
{
#ifdef HAVE_GETRUSAGE
return sim_elapsed_time_get () - start;
{
#ifdef HAVE_GETRUSAGE
return sim_elapsed_time_get () - start;
@@
-340,10
+324,20
@@
sim_do_commandf (SIM_DESC sd,
{
va_list ap;
char *buf;
{
va_list ap;
char *buf;
+ int ret;
+
va_start (ap, fmt);
va_start (ap, fmt);
- vasprintf (&buf, fmt, ap);
- sim_do_command (sd, buf);
+ ret = vasprintf (&buf, fmt, ap);
va_end (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);
free (buf);
}
free (buf);
}
@@
-408,5
+402,3
@@
transfer_to_str (unsigned transfer)
default: return "(error)";
}
}
default: return "(error)";
}
}
-
-
This page took
0.027299 seconds
and
4
git commands to generate.