sim: nrun: tweak init of callback endian

Allow ports to initialize the callback endian if they want.  This will
allow delegation of the logic out of common code in the future.

Also switch from the CURRENT_TARGET_BYTE_ORDER macro to the underlying
current_target_byte_order storage since the latter has been setup by
the sim-config module based on the same macros.  This will allow the
nrun module to be moved to common building for sharing.
This commit is contained in:
Mike Frysinger
2021-06-05 22:50:57 -04:00
parent eee649922f
commit cfc6061bd8
2 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2021-06-09 Mike Frysinger <vapier@gentoo.org>
* nrun.c (main): Set default_callback.target_endian to
current_target_byte_order when it's BFD_ENDIAN_UNKNOWN.
2021-06-09 Mike Frysinger <vapier@gentoo.org>
* cgen-defs.h (STATE_RUN_FAST_P, CGEN_STATE, cgen_init): Delete.

View File

@ -88,11 +88,12 @@ main (int argc, char **argv)
abort ();
}
/* We can't set the endianness in the callback structure until
sim_config is called, which happens in sim_open. */
default_callback.target_endian
= (CURRENT_TARGET_BYTE_ORDER == BFD_ENDIAN_BIG
? BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE);
/* We can't set the endianness in the callback structure until sim_config is
called, which happens in sim_open. If it's still the default, switch it.
Don't use CURRENT_TARGET_BYTE_ORDER as all its internal processing already
happened in sim_config. */
if (default_callback.target_endian == BFD_ENDIAN_UNKNOWN)
default_callback.target_endian = current_target_byte_order;
/* Was there a program to run? */
prog_argv = STATE_PROG_ARGV (sd);