aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-config.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1997-08-27 04:44:41 +0000
committerAndrew Cagney <cagney@redhat.com>1997-08-27 04:44:41 +0000
commitfafce69ab16b45fb1ac6bd2ec5afc8e8dbed0374 (patch)
treeeaab2b03e17f79cd61e73a0b510942da3f20dcc3 /sim/common/sim-config.c
parent9f64f00adaa7fb89b13ed291a778a262260dc409 (diff)
downloadgdb-fafce69ab16b45fb1ac6bd2ec5afc8e8dbed0374.zip
gdb-fafce69ab16b45fb1ac6bd2ec5afc8e8dbed0374.tar.gz
gdb-fafce69ab16b45fb1ac6bd2ec5afc8e8dbed0374.tar.bz2
Add ABFD argument to sim_create_inferior. Document.
Add file sim-hload.c - generic load for hardware only simulators. Review each simulators sim_open, sim_load, sim_create_inferior so that they more closely match required behavour.
Diffstat (limited to 'sim/common/sim-config.c')
-rw-r--r--sim/common/sim-config.c60
1 files changed, 15 insertions, 45 deletions
diff --git a/sim/common/sim-config.c b/sim/common/sim-config.c
index 5f2efc3..04ad95f 100644
--- a/sim/common/sim-config.c
+++ b/sim/common/sim-config.c
@@ -132,45 +132,15 @@ config_floating_point_to_a (int floating_point)
SIM_RC
-sim_config (SIM_DESC sd,
- struct _bfd *abfd)
+sim_config (SIM_DESC sd)
{
int prefered_target_byte_order;
- /* clone the bfd struct (or open prog_name directly) */
- {
- const char *prog_name;
- if (STATE_PROG_ARGV (sd) == NULL)
- {
- if (abfd != NULL)
- prog_name = bfd_get_filename (abfd);
- else
- prog_name = NULL;
- }
- else
- prog_name = *STATE_PROG_ARGV (sd);
- if (prog_name != NULL)
- {
- abfd = bfd_openr (prog_name, 0);
- if (abfd == NULL)
- {
- 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_PROG_BFD (sd) = abfd;
- }
- else
- STATE_PROG_BFD (sd) = NULL;
- }
-
/* extract all relevant information */
- if (abfd == NULL)
+ if (STATE_PROG_BFD (sd) == NULL)
prefered_target_byte_order = 0;
else
- prefered_target_byte_order = (bfd_little_endian(abfd)
+ prefered_target_byte_order = (bfd_little_endian(STATE_PROG_BFD (sd))
? LITTLE_ENDIAN
: BIG_ENDIAN);
@@ -210,16 +180,16 @@ sim_config (SIM_DESC sd,
/* verify the target byte order */
if (CURRENT_TARGET_BYTE_ORDER == 0)
{
- sim_io_eprintf (sd, "target byte order unspecified");
+ sim_io_eprintf (sd, "Target byte order unspecified\n");
return SIM_RC_FAIL;
}
if (CURRENT_TARGET_BYTE_ORDER != current_target_byte_order)
- sim_io_eprintf (sd, "target (%s) and configured (%s) byte order in conflict",
+ sim_io_eprintf (sd, "Target (%s) and configured (%s) byte order in conflict\n",
config_byte_order_to_a (current_target_byte_order),
config_byte_order_to_a (CURRENT_TARGET_BYTE_ORDER));
if (prefered_target_byte_order != 0
&& CURRENT_TARGET_BYTE_ORDER != prefered_target_byte_order)
- sim_io_eprintf (sd, "target (%s) and specified (%s) byte order in conflict",
+ sim_io_eprintf (sd, "Target (%s) and specified (%s) byte order in conflict\n",
config_byte_order_to_a (CURRENT_TARGET_BYTE_ORDER),
config_byte_order_to_a (prefered_target_byte_order));
@@ -233,12 +203,12 @@ sim_config (SIM_DESC sd,
/* verify the stdio */
if (CURRENT_STDIO == 0)
{
- sim_io_eprintf (sd, "target standard IO unspecified");
+ sim_io_eprintf (sd, "Target standard IO unspecified\n");
return SIM_RC_FAIL;
}
if (CURRENT_STDIO != current_stdio)
{
- sim_io_eprintf (sd, "target (%s) and configured (%s) standard IO in conflict",
+ sim_io_eprintf (sd, "Target (%s) and configured (%s) standard IO in conflict\n",
config_stdio_to_a (CURRENT_STDIO),
config_stdio_to_a (current_stdio));
return SIM_RC_FAIL;
@@ -249,7 +219,7 @@ sim_config (SIM_DESC sd,
if (WITH_TARGET_WORD_MSB != 0
&& WITH_TARGET_WORD_MSB != (WITH_TARGET_WORD_BITSIZE - 1))
{
- sim_io_eprintf (sd, "target bitsize (%d) contradicts target most significant bit (%d)",
+ sim_io_eprintf (sd, "Target bitsize (%d) contradicts target most significant bit (%d)\n",
WITH_TARGET_WORD_BITSIZE, WITH_TARGET_WORD_MSB);
return SIM_RC_FAIL;
}
@@ -281,12 +251,12 @@ sim_config (SIM_DESC sd,
/* verify the environment */
if (CURRENT_ENVIRONMENT == 0)
{
- sim_io_eprintf (sd, "target environment unspecified");
+ sim_io_eprintf (sd, "Target environment unspecified\n");
return SIM_RC_FAIL;
}
if (CURRENT_ENVIRONMENT != current_environment)
{
- sim_io_eprintf (sd, "target (%s) and configured (%s) environment in conflict",
+ sim_io_eprintf (sd, "Target (%s) and configured (%s) environment in conflict\n",
config_environment_to_a (CURRENT_ENVIRONMENT),
config_environment_to_a (current_environment));
return SIM_RC_FAIL;
@@ -310,12 +280,12 @@ sim_config (SIM_DESC sd,
/* verify the alignment */
if (CURRENT_ALIGNMENT == 0)
{
- sim_io_eprintf (sd, "target alignment unspecified");
+ sim_io_eprintf (sd, "Target alignment unspecified\n");
return SIM_RC_FAIL;
}
if (CURRENT_ALIGNMENT != current_alignment)
{
- sim_io_eprintf (sd, "target (%s) and configured (%s) alignment in conflict",
+ sim_io_eprintf (sd, "Target (%s) and configured (%s) alignment in conflict\n",
config_alignment_to_a (CURRENT_ALIGNMENT),
config_alignment_to_a (current_alignment));
return SIM_RC_FAIL;
@@ -332,12 +302,12 @@ sim_config (SIM_DESC sd,
/* verify the floating point */
if (CURRENT_FLOATING_POINT == 0)
{
- sim_io_eprintf (sd, "target floating-point unspecified");
+ sim_io_eprintf (sd, "Target floating-point unspecified\n");
return SIM_RC_FAIL;
}
if (CURRENT_FLOATING_POINT != current_floating_point)
{
- sim_io_eprintf (sd, "target (%s) and configured (%s) floating-point in conflict",
+ sim_io_eprintf (sd, "Target (%s) and configured (%s) floating-point in conflict\n",
config_alignment_to_a (CURRENT_FLOATING_POINT),
config_alignment_to_a (current_floating_point));
return SIM_RC_FAIL;