* Makefile.in: Delete stuff moved to ../common/Make-common.in.
authorDavid Edelsohn <dje.gcc@gmail.com>
Wed, 20 Nov 1996 09:47:57 +0000 (09:47 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Wed, 20 Nov 1996 09:47:57 +0000 (09:47 +0000)
(SIM_OBJS): Define.
* configure.in: Simplify using macros in ../common/aclocal.m4.
* configure: Regenerated.
* inst.h (enum sim_state): Define.
(cpu_state_type): New member `state'.  Set it whenever `exception'
is set.
* compile.c (sim_callback): New global.
(sim_set_simcache_size): Renamed from sim_csize.
(sim_resume, case O_SLEEP): Add right way to decode r0 but #if 0 out
'cus it can't work.  Change main loop exit test to use cpu.state.
(sim_trace): New function.
(sim_stop_reason): Add right way to set results, but #if 0 out.
(sim_size): New function.
(sim_info): Redirect calls to printf_filtered through callback.
(sim_set_callbacks): Record callback.
* run.c: Deleted, using one in ../common now.
* tconfig.in: New file.

sim/h8300/.Sanitize
sim/h8300/configure.in
sim/h8300/run.c [deleted file]
sim/h8300/tconfig.in [new file with mode: 0644]

index 9e8ed06..8f316fe 100644 (file)
@@ -31,9 +31,9 @@ config.in
 configure
 configure.in
 compile.c
-writecode.c
-run.c
 inst.h
+tconfig.in
+writecode.c
 
 Things-to-lose:
 
index 4969df3..87ead3b 100644 (file)
@@ -2,23 +2,8 @@ dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.5)dnl
 AC_INIT(Makefile.in)
 
-AC_CONFIG_HEADER(config.h:config.in)
-
-AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..)
-AC_CANONICAL_SYSTEM
-AC_ARG_PROGRAM
-
-. ${srcdir}/../../bfd/configure.host
-
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_SUBST(CFLAGS)
-AC_SUBST(HDEFINES)
-AR=${AR-ar}
-AC_SUBST(AR)
-AC_PROG_RANLIB
+SIM_AC_COMMON
 
 AC_CHECK_HEADERS(stdlib.h time.h)
 
-AC_OUTPUT(Makefile,
-[case x$CONFIG_HEADERS in xconfig.h:config.in) echo > stamp-h ;; esac])
+SIM_AC_OUTPUT
diff --git a/sim/h8300/run.c b/sim/h8300/run.c
deleted file mode 100644 (file)
index 7dc57b7..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/* front end to the simulator.
-
-   Written by Steve Chamberlain of Cygnus Support.
-   sac@cygnus.com
-
-   This file is part of H8/300 sim
-
-
-               THIS SOFTWARE IS NOT COPYRIGHTED
-
-   Cygnus offers the following for use in the public domain.  Cygnus
-   makes no warranty with regard to the software or it's performance
-   and the user accepts the software "AS IS" with all faults.
-
-   CYGNUS DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD TO
-   THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
-
-#include "config.h"
-
-#include <varargs.h>
-#include <stdio.h>
-#include <signal.h>
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#include "getopt.h"
-#include "bfd.h"
-#include "remote-sim.h"
-
-void usage();
-extern int optind;
-extern char *optarg;
-
-int
-main (ac, av)
-     int ac;
-     char **av;
-{
-  bfd *abfd;
-  bfd_vma start_address;
-  asection *s;
-  int i;
-  int verbose = 0;
-  int trace = 0;
-  char *name = "";
-  int sigrc;
-  enum sim_stop reason;
-
-  while ((i = getopt (ac, av, "c:htv")) != EOF)
-    switch (i) 
-      {
-      case 'c':
-       sim_csize (atoi (optarg));
-       break;
-      case 'h':
-       set_h8300h (1);
-       break;
-      case 't':
-       trace = 1;
-       break;
-      case 'v':
-       verbose = 1;
-       break;
-      default:
-       usage();
-      }
-
-  if (ac - optind != 1)
-    usage();
-
-  name = av[ac - 1];
-
-  if (verbose)
-    printf ("run %s\n", name);
-
-  abfd = bfd_openr (name, "coff-h8300");
-  if (! abfd)
-    {
-      fprintf (stderr, "%s: unable to open %s\n", av[0], name);
-      exit (1);
-    }
-
-  if (! bfd_check_format(abfd, bfd_object)) 
-    {
-      fprintf (stderr, "%s: %s is not a valid executable\n", av[0], name);
-      exit (1);
-    }
-
-  if (abfd->arch_info->mach == bfd_mach_h8300h
-      || abfd->arch_info->mach == bfd_mach_h8300s)
-    set_h8300h (1);
-
-  for (s = abfd->sections; s; s=s->next) 
-    {
-      char *buffer;
-
-      if (s->flags & SEC_LOAD)
-       {
-
-         buffer = malloc(bfd_section_size(abfd,s));
-         bfd_get_section_contents(abfd, s, buffer, 0,
-                                  bfd_section_size (abfd, s));
-         sim_write(s->vma, buffer, bfd_section_size (abfd, s));
-       }
-    }
-
-  start_address = bfd_get_start_address(abfd);
-  sim_create_inferior (start_address, NULL, NULL);
-  sim_resume(0,0);
-  if (verbose)
-    sim_info (verbose - 1);
-  sim_stop_reason (&reason, &sigrc);
-  /* FIXME: this test is insufficient but we can't do much
-     about it until sim_stop_reason is cleaned up.  */
-  if (sigrc == SIGILL)
-    abort ();
-  return 0;
-}
-
-/* gdb callback used by simulator */
-
-void
-printf_filtered (va_alist)
-     va_dcl
-{
-  char *msg;
-  va_list args;
-
-  va_start (args);
-  msg = va_arg (args, char *);
-  vfprintf (stdout, msg, args);
-  va_end (args);
-}
-
-void
-usage()
-{
-  fprintf (stderr, "usage: run [-h] [-t] [-v] [-c csize] program\n");
-  exit (1);
-}
diff --git a/sim/h8300/tconfig.in b/sim/h8300/tconfig.in
new file mode 100644 (file)
index 0000000..d3cef82
--- /dev/null
@@ -0,0 +1,27 @@
+/* h8300 target configuration file.  */
+
+/* Define this if the simulator supports profiling.
+   See the mips simulator for an example.
+   This enables the `-p foo' and `-s bar' options.
+   The target is required to provide sim_set_profile{,_size}.  */
+/* #define SIM_HAVE_PROFILE */
+
+/* Define this if the simulator uses an instruction cache.
+   See the h8/300 simulator for an example.
+   This enables the `-c size' option to set the size of the cache.
+   The target is required to provide sim_set_simcache_size.  */
+#define SIM_HAVE_SIMCACHE
+
+/* C statement to call after argument parsing is done and executable file
+   has been opened (with bfd_openr).
+   See h8300/tconfig.in for an example.  */
+#define SIM_PRE_LOAD(EXEC_BFD) \
+do { \
+  if ((EXEC_BFD)->arch_info->mach == bfd_mach_h8300h \
+      || (EXEC_BFD)->arch_info->mach == bfd_mach_h8300s) \
+    set_h8300h (1); \
+} while (0)
+
+/* FIXME: This is a quick hack for run.c so it can support the `-h' option.
+   It will eventually be replaced by a more general facility.  */
+#define SIM_H8300