aboutsummaryrefslogtreecommitdiff
path: root/sim/riscv
diff options
context:
space:
mode:
Diffstat (limited to 'sim/riscv')
-rw-r--r--sim/riscv/interp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sim/riscv/interp.c b/sim/riscv/interp.c
index f94a842..7ecdd55 100644
--- a/sim/riscv/interp.c
+++ b/sim/riscv/interp.c
@@ -153,6 +153,12 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
STATE_PROG_ARGV (sd) = dupargv (argv);
}
+ if (STATE_PROG_ENVP (sd) != env)
+ {
+ freeargv (STATE_PROG_ENVP (sd));
+ STATE_PROG_ENVP (sd) = dupargv (env);
+ }
+
initialize_env (sd, (void *)argv, (void *)env);
return SIM_RC_OK;