From 27ebfdf49b17a12647f8c744fee65986354b1994 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Thu, 5 Jun 2003 02:18:01 +0000 Subject: [PATCH] 2003-06-04 Michael Snyder * compile.c (sim_info): Fix typo in output. * h8300/compile.c (set_h8300h): Replace 'flag' arguments with a bfd_machine argument, and decode it inline. Check for bfd_mach_h8300hn and bfd_mach_h8300sn. --- sim/h8300/ChangeLog | 4 ++++ sim/h8300/compile.c | 22 ++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog index b5a2cf83030..e35d2b7eb7c 100644 --- a/sim/h8300/ChangeLog +++ b/sim/h8300/ChangeLog @@ -2,6 +2,10 @@ * compile.c (sim_info): Fix typo in output. + * h8300/compile.c (set_h8300h): Replace 'flag' arguments + with a bfd_machine argument, and decode it inline. + Check for bfd_mach_h8300hn and bfd_mach_h8300sn. + 2003-06-03 Michael Snyder * compile.c: Add h8300sx insns and addressing modes. diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c index 33a28f584c0..c71658e5c8b 100644 --- a/sim/h8300/compile.c +++ b/sim/h8300/compile.c @@ -4748,15 +4748,20 @@ sim_info (SIM_DESC sd, int verbose) FLAG is non-zero for the H8/300H. */ void -set_h8300h (int h_flag, int s_flag, int sx_flag) +set_h8300h (unsigned long machine) { /* FIXME: Much of the code in sim_load can be moved to sim_open. This function being replaced by a sim_open:ARGV configuration option. */ - h8300hmode = h_flag; - h8300smode = s_flag; - h8300sxmode = sx_flag; + if (machine == bfd_mach_h8300sx) + h8300sxmode = 1; + + if (machine == bfd_mach_h8300s || machine == bfd_mach_h8300sn || h8300sxmode) + h8300smode = 1; + + if (machine == bfd_mach_h8300h || machine == bfd_mach_h8300hn || h8300smode) + h8300hmode = 1; } /* Cover function of sim_state_free to free the cpu buffers as well. */ @@ -4873,14 +4878,7 @@ sim_load (SIM_DESC sd, char *prog, bfd *abfd, int from_tty) and bfd_openr as sim_load_file checks too. */ if (bfd_check_format (prog_bfd, bfd_object)) { - unsigned long mach = bfd_get_mach (prog_bfd); - - set_h8300h (mach == bfd_mach_h8300h || - mach == bfd_mach_h8300s || - mach == bfd_mach_h8300sx, - mach == bfd_mach_h8300s || - mach == bfd_mach_h8300sx, - mach == bfd_mach_h8300sx); + set_h8300h (bfd_get_mach (prog_bfd)); } } -- 2.30.2