diff options
author | Mike Frysinger <vapier@gentoo.org> | 2021-11-15 02:32:06 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-11-15 02:53:29 -0500 |
commit | e8f20a28b1192d746475f045d77ac84411f164df (patch) | |
tree | 3ff31f3c32862561e65c1d23650b13eb0c28702a /sim/aarch64 | |
parent | 7b2ec4e46fb726a7616a07e67c4270f48c8c546e (diff) | |
download | gdb-e8f20a28b1192d746475f045d77ac84411f164df.zip gdb-e8f20a28b1192d746475f045d77ac84411f164df.tar.gz 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/aarch64')
-rw-r--r-- | sim/aarch64/interp.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sim/aarch64/interp.c b/sim/aarch64/interp.c index 18c2fc0..999b949 100644 --- a/sim/aarch64/interp.c +++ b/sim/aarch64/interp.c @@ -339,10 +339,7 @@ sim_open (SIM_OPEN_KIND kind, if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK || sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK || sim_parse_args (sd, argv) != SIM_RC_OK - || sim_analyze_program (sd, - (STATE_PROG_ARGV (sd) != NULL - ? *STATE_PROG_ARGV (sd) - : NULL), abfd) != SIM_RC_OK + || sim_analyze_program (sd, STATE_PROG_FILE (sd), abfd) != SIM_RC_OK || sim_config (sd) != SIM_RC_OK || sim_post_argv_init (sd) != SIM_RC_OK) { |