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).
This commit is contained in:
Mike Frysinger
2021-11-15 23:04:10 -05:00
parent 54f7a83a62
commit 8cfc9a1895
14 changed files with 79 additions and 10 deletions

View File

@@ -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;
}