aboutsummaryrefslogtreecommitdiff
path: root/sim/cris
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-11-15 02:32:06 -0500
committerMike Frysinger <vapier@gentoo.org>2021-11-15 02:53:29 -0500
commite8f20a28b1192d746475f045d77ac84411f164df (patch)
tree3ff31f3c32862561e65c1d23650b13eb0c28702a /sim/cris
parent7b2ec4e46fb726a7616a07e67c4270f48c8c546e (diff)
downloadfsf-binutils-gdb-e8f20a28b1192d746475f045d77ac84411f164df.zip
fsf-binutils-gdb-e8f20a28b1192d746475f045d77ac84411f164df.tar.gz
fsf-binutils-gdb-e8f20a28b1192d746475f045d77ac84411f164df.tar.bz2
sim: split program path out of argv vector
We use the program argv to both find the program to run (argv[0]) and to hold the arguments to the program. Most of the time this is fine, but if we want to let programs specify argv[0] independently (which is possible in standard *NIX programs), this double duty doesn't work. So let's split the path to the program to run out into a separate field by itself. This simplifies the various sim_open funcs too. By itself, this code is more of a logical cleanup than something that is super useful. But it will open up customization of argv[0] in a follow up commit. Split the changes to make it easier to review.
Diffstat (limited to 'sim/cris')
-rw-r--r--sim/cris/sim-if.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sim/cris/sim-if.c b/sim/cris/sim-if.c
index 2d7e922..500941a 100644
--- a/sim/cris/sim-if.c
+++ b/sim/cris/sim-if.c
@@ -690,11 +690,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
}
/* check for/establish the reference program image */
- if (sim_analyze_program (sd,
- (STATE_PROG_ARGV (sd) != NULL
- ? *STATE_PROG_ARGV (sd)
- : NULL),
- abfd) != SIM_RC_OK)
+ if (sim_analyze_program (sd, STATE_PROG_FILE (sd), abfd) != SIM_RC_OK)
{
/* When there's an error, sim_analyze_program has already output
a message. Let's just clarify it, as "not an object file"
@@ -717,9 +713,9 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
if (abfd != NULL && bfd_get_arch (abfd) == bfd_arch_unknown)
{
- if (STATE_PROG_ARGV (sd) != NULL)
+ if (STATE_PROG_FILE (sd) != NULL)
sim_io_eprintf (sd, "%s: `%s' is not a CRIS program\n",
- STATE_MY_NAME (sd), *STATE_PROG_ARGV (sd));
+ STATE_MY_NAME (sd), STATE_PROG_FILE (sd));
else
sim_io_eprintf (sd, "%s: program to be run is not a CRIS program\n",
STATE_MY_NAME (sd));