This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch to provide m68k simulator to gdb


Andrew Cagney wrote:
> 
> Below are some quick comment about things that are often missed when
> integrating a new simulator.
> 
> --

This simulator is based on the old sh simulator, so it uses some of the
deprecated features.  I will work on fixing the problems listed below.

-Will

> New simulators use a header file (include/sim-XXX.h - eg
> include/sim-d10v.h) as a way of avoiding magic numbers like:
> 
> sim_fetch_register()
> 
> +     case  0: case  1: case  2: case  3: case  4: case  5: case  6:
> case  7:
> +       /* address regs "a0", "a1", "a2", "a3", "a4", "a5", "fp", "sp"
> */
> +     case  8: case  9: case 10: case 11: case 12: case 13: case 14:
> case 15:
> +       val = saved_state.regs[rn];
> 
> That header along with REGISTER_SIM_REGNO() make it possible to decouple
> the simulators register numbers from GDBs.  Could the code please be
> changed to at least use the header file.
> 
> --
> 
> I have a feeling that this code is implementing a number of
> older/deprecated methods.  Have a look over include/remote-sim.h where
> it clearly identifies deprecated interfaces.  For instance:
> 
> /* Single-step simulator with tracing enabled.
>    THIS PROCEDURE IS DEPRECIATED.
>    THIS PROCEDURE IS EVEN MORE DEPRECATED THAN SIM_SET_TRACE
>    GDB and NRUN do not use this interface.
> 
> Make certain that you use `nrun.c'' and not the older ``run.c''.  Add
> the line:
> 
>   # List of main object files for `run'.
>   SIM_RUN_OBJS = nrun.o
> 
> to your Makefile.in.  It is probably why you implemented sim_trace()
> et.al.
> 
>         Andrew


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]