aboutsummaryrefslogtreecommitdiff
path: root/sim/lm32
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/lm32
parent54f7a83a62c27d6da9ee66da1022572d6ea45d84 (diff)
downloadbinutils-8cfc9a1895d9f720e2cc38fd57b94ca5efba07b1.zip
binutils-8cfc9a1895d9f720e2cc38fd57b94ca5efba07b1.tar.gz
binutils-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/lm32')
-rw-r--r--sim/lm32/sim-if.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sim/lm32/sim-if.c b/sim/lm32/sim-if.c
index e7bffbd..8bbd83d 100644
--- a/sim/lm32/sim-if.c
+++ b/sim/lm32/sim-if.c
@@ -21,12 +21,13 @@
/* This must come before any other includes. */
#include "defs.h"
+#include <stdlib.h>
+
+#include "sim/callback.h"
#include "sim-main.h"
#include "sim-options.h"
#include "libiberty.h"
#include "bfd.h"
-
-#include <stdlib.h>
/* Cover function of sim_state_free to free the cpu buffers as well. */
@@ -195,6 +196,7 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
char * const *env)
{
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
+ host_callback *cb = STATE_CALLBACK (sd);
SIM_ADDR addr;
if (abfd != NULL)
@@ -219,5 +221,8 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
STATE_PROG_ENVP (sd) = dupargv (env);
}
+ cb->argv = STATE_PROG_ARGV (sd);
+ cb->envp = STATE_PROG_ENVP (sd);
+
return SIM_RC_OK;
}