sandbox: Set up global_data earlier

It is possible for U-Boot functions such as printf() to be called
within state_init(). This can end up checking gd->flags (e.g. in putc())
before global_data is set up.

Move the setup earlier to avoid this. This fixes the suppression of some
debug output in memory allocation (when enabled).

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2024-08-07 16:47:26 -06:00 committed by Tom Rini
parent 5b33660c54
commit 16b9c64caf

View file

@ -483,6 +483,9 @@ int sandbox_main(int argc, char *argv[])
text_base = os_find_text_base();
memset(&data, '\0', sizeof(data));
gd = &data;
/*
* This must be the first invocation of os_malloc() to have
* state->ram_buf in the low 4 GiB.
@ -501,8 +504,6 @@ int sandbox_main(int argc, char *argv[])
os_exit(1);
memcpy(os_argv, argv, size);
memset(&data, '\0', sizeof(data));
gd = &data;
gd->arch.text_base = text_base;
state = state_get_current();