]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
authorDoug Evans <dje@google.com>
Tue, 18 Nov 1997 23:55:33 +0000 (23:55 +0000)
committerDoug Evans <dje@google.com>
Tue, 18 Nov 1997 23:55:33 +0000 (23:55 +0000)
* sim-base.h (CIA_ADDR): Provide default definition.

sim/common/ChangeLog
sim/common/Make-common.in
sim/common/sim-base.h

index 69ec9d5a648bbf21c267cc33486707e1925b0a59..768333a40fcd3264e985061ff6ce18d9b341d1d1 100644 (file)
@@ -1,3 +1,9 @@
+Tue Nov 18 15:53:45 1997  Doug Evans  <devans@canuck.cygnus.com>
+
+       * Make-common.in (SIM_NEW_COMMON_OBJS): New variable.
+
+       * sim-base.h (CIA_ADDR): Provide default definition.
+
 Mon Nov 17 14:15:31 1997  Doug Evans  <devans@seba.cygnus.com>
 
        * Make-common.in (srccom): New variable.
index a1a63de96cfa6ecb943e3e3376c7d138a66c11ce..f782e0537d387e1227e20f5aec4e874e8b7793b7 100644 (file)
@@ -125,6 +125,33 @@ SIM_EXTRA_INSTALL =
 # Dependency of `clean' to clean any extra files.
 SIM_EXTRA_CLEAN =
 
+# Every time a new general purpose source file was added every target's
+# Makefile.in needed to be updated to include the file in SIM_OBJS.
+# This doesn't scale.
+# This variable specifies all the generic stuff common to the newer simulators.
+# Things like sim-reason.o can't go here as the cpu may provide its own
+# (though hopefully in time that won't be so).  Things like sim-bits.o can go
+# here.  Some files are used by all simulators (e.g. callback.o).
+# Those files are specified in LIB_OBJS below.
+
+SIM_NEW_COMMON_OBJS = \
+       sim-bits.o \
+       sim-break.o \
+       sim-config.o \
+       sim-core.o \
+       sim-endian.o \
+       sim-events.o \
+       sim-fpu.o \
+       sim-io.o \
+       sim-load.o \
+       sim-memopt.o \
+       sim-module.o \
+       sim-options.o \
+       sim-profile.o \
+       sim-trace.o \
+       sim-utils.o \
+       sim-watch.o
+
 ## End COMMON_PRE_CONFIG_FRAG
 
 ## COMMON_POST_CONFIG_FRAG
index 21be8057b73adf86b8a00aeaa0e13d2c57fdf6c9..231b26e79a83468b0a55ae599b7281c6a8ed91d2 100644 (file)
@@ -62,9 +62,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef NULL_CIA
 #define NULL_CIA ((sim_cia) 0)
 #endif
+/* Return the current instruction address as a number.
+   Some targets treat the current instruction address as a struct
+   (e.g. for delay slot handling).  */
+#ifndef CIA_ADDR
+#define CIA_ADDR(cia) (cia)
+#endif
 #ifndef INVALID_INSTRUCTION_ADDRESS
 #define INVALID_INSTRUCTION_ADDRESS ((address_word)0 - 1)
 #endif
+
 typedef struct _sim_cpu sim_cpu;
 
 #include "sim-module.h"
@@ -80,7 +87,9 @@ typedef struct _sim_cpu sim_cpu;
 #include "sim-engine.h"
 #include "sim-watch.h"
 #include "sim-memopt.h"
-
+#ifdef SIM_HAVE_BREAKPOINTS
+#include "sim-break.h"
+#endif
 
 /* Global pointer to current state while sim_resume is running.
    On a machine with lots of registers, it might be possible to reserve
@@ -153,6 +162,10 @@ typedef struct {
   int verbose_p;
 #define STATE_VERBOSE_P(sd) ((sd)->base.verbose_p)
 
+  /* Non cpu-specific trace data.  See sim-trace.h.  */
+  TRACE_DATA trace_data;
+#define STATE_TRACE_DATA(sd) (& (sd)->base.trace_data)
+
   /* If non NULL, the BFD architecture specified on the command line */
   const struct bfd_arch_info *architecture;
 #define STATE_ARCHITECTURE(sd) ((sd)->base.architecture)
@@ -220,13 +233,16 @@ typedef struct {
   sim_watchpoints watchpoints;
 #define STATE_WATCHPOINTS(sd) (&(sd)->base.watchpoints)
 
+  /* Pointer to list of breakpoints */
+  struct sim_breakpoint *breakpoints;
+#define STATE_BREAKPOINTS(sd) ((sd)->base.breakpoints)
+
   /* Marker for those wanting to do sanity checks.
      This should remain the last member of this struct to help catch
      miscompilation errors.  */
   int magic;
 #define SIM_MAGIC_NUMBER 0x4242
 #define STATE_MAGIC(sd) ((sd)->base.magic)
-
 } sim_state_base;