* 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 <msnyder@redhat.com>
* compile.c: Add h8300sx insns and addressing modes.
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. */
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));
}
}