This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: Patch to provide m68k simulator to gdb
- To: Andrew Cagney <ac131313 at cygnus dot com>
- Subject: Re: Patch to provide m68k simulator to gdb
- From: Will Cohen <wcohen at redhat dot com>
- Date: Wed, 28 Feb 2001 12:01:18 -0500
- CC: gdb-patches at sources dot redhat dot com
- Organization: Red Hat, Inc.
- References: <3A9C3128.A52307A@redhat.com> <3A9D2941.ECA95C7E@cygnus.com>
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