aboutsummaryrefslogtreecommitdiff
path: root/sim/riscv
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-11-15 23:04:10 -0500
committerMike Frysinger <vapier@gentoo.org>2021-11-16 01:13:39 -0500
commit8cfc9a1895d9f720e2cc38fd57b94ca5efba07b1 (patch)
treeebec67af6051c58a695f48b6f69d6bf005fd3116 /sim/riscv
parent54f7a83a62c27d6da9ee66da1022572d6ea45d84 (diff)
downloadgdb-8cfc9a1895d9f720e2cc38fd57b94ca5efba07b1.zip
gdb-8cfc9a1895d9f720e2cc38fd57b94ca5efba07b1.tar.gz
gdb-8cfc9a1895d9f720e2cc38fd57b94ca5efba07b1.tar.bz2
sim: callback: expose argv & environ
Pass the existing strings data to the callbacks so that common libgloss syscalls can be implemented (which we'll do shortly).
Diffstat (limited to 'sim/riscv')
-rw-r--r--sim/riscv/interp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sim/riscv/interp.c b/sim/riscv/interp.c
index 7ecdd55..efa4b56 100644
--- a/sim/riscv/interp.c
+++ b/sim/riscv/interp.c
@@ -21,6 +21,7 @@
/* This must come before any other includes. */
#include "defs.h"
+#include "sim/callback.h"
#include "sim-main.h"
#include "sim-options.h"
@@ -134,6 +135,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
char * const *argv, char * const *env)
{
SIM_CPU *cpu = STATE_CPU (sd, 0);
+ host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
/* Set the PC. */
@@ -159,6 +161,9 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
STATE_PROG_ENVP (sd) = dupargv (env);
}
+ cb->argv = STATE_PROG_ARGV (sd);
+ cb->envp = STATE_PROG_ENVP (sd);
+
initialize_env (sd, (void *)argv, (void *)env);
return SIM_RC_OK;