Commit Graph

85 Commits

Author SHA1 Message Date
Mike Frysinger 27b97b40bc sim: arm/cr16/d10v/h8300/microblaze/sh: fill out sim-cpu pc fetch/store helpers
This makes the common sim-cpu logic work.
2015-04-17 02:22:16 -04:00
Mike Frysinger f95f4ed2c4 sim: cris/frv/h8300/iq2000/lm32/m32r/sh64: standardize cpu state
This sets up the sim_state structure and the cpu member to match what we
do in most other sims, and what the common code suggests.  This is a step
to unifying on the sim-cpu.o object.
2015-04-15 01:25:32 -04:00
Mike Frysinger 523ba8f92e sim: erc32/h8300/m68hc11: trim unused functions
These funcs are only used with the old run.o, and these sims use nrun.o,
so drop these stub funcs.
2015-03-24 00:48:40 -04:00
Joel Brobecker 2d7bb7580a callback.h:struct host_callback_struct compilation error on Windows hosts.
On Windows, a recent gnulib update imported the lstat module, and
this caused a remote-sim.c build failure in struct host_callback_struct:

    In file included from /[...]/gdb/remote-sim.c:34:0:
    /[...]/gdb/../include/gdb/callback.h:93:9: error: duplicate member '_stati64'
       int (*lstat) (host_callback *, const char *, struct stat *);
             ^
What happens it that gnulib's stat.h makes the following defines:

     /* Large File Support on native Windows.  */
     #if 1
     # define stat _stati64
     #endif

and then:

    #if 1
    # if ! 0
    /* mingw does not support symlinks, therefore it does not have lstat.  But
       without links, stat does just fine.  */
    #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
    #   define lstat stat
    #  endif

So, the following fields in struct host_callback_struct...

      int (*stat) (host_callback *, const char *, struct stat *);
      int (*fstat) (host_callback *, int, struct stat *);
      int (*lstat) (host_callback *, const char *, struct stat *);

... get translated to...

      int (*_stati64) (host_callback *, const char *, struct _stati64 *);
      int (*_fstati64) (host_callback *, int, struct _stati64 *);
      int (*_stati64) (host_callback *, const char *, struct _stati64 *);

... which causes two fields to have the same name.

This patch fixes the issue by renaming the stat-related fields
by adding a "to_" prefix, similar to what is done in GDB's
target_ops vector.

include/gdb/ChangeLog:

	* callback.h (struct host_callback_struct) <to_stat>: Renamed
	from "stat".
	<to_fstat>: Renamed from "fstat".
	<to_lstat>: Renamed from "lstat".

sim/common/ChangeLog:

	* sim-io.c (sim_io_stat, sim_io_fstat): Adjust calls to "stat"
	and "fstat" callbacks by calls to "to_stat" and "to_fstat" (resp)
	callbacks following renaming in callback.h.
	* syscall.c (cb_syscall): Likewise.  Adjust calls to "lstat"
	callback by call to "to_lstat" callback

sim/cris/ChangeLog:

	* traps.c (cris_break_13_handler): Adjust call to "fstat" callback
	by call to "to_fstat" following renaming in callback.h.

sim/h8300/ChangeLog:

	* compile.c (sim_resume):  Adjust calls to "stat" and "fstat"
	callbacks by calls to "to_stat" and "to_fstat" (resp) callbacks
	following renaming in callback.h.
2014-12-03 13:43:08 +04:00
Mike Frysinger b2b255bdf3 sim: constify prog_name
There's no need for the prog_name handed down to the core to be mutable,
so add const markings to it and all the related funcs.
2014-03-05 01:42:44 -05:00
Mike Frysinger ef3e8cf7d1 sim: delete duplicate SIGINT handling
Many of the simulators change the SIGINT handler.
E.g., moxie/interp.c:

  sigsave = signal (SIGINT, interrupt);

However, this is unnecessary.
remote-sim.h already provides an API for asynchronously stopping
a sim; and both gdb and the drivers (run.c and nrun.c at least,
I didn't check the others) install a SIGINT handler which
calls this method.

URL: https://sourceware.org/bugzilla/show_bug.cgi?id=16450
Reported-by: Tom Tromey <tromey@redhat.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-02-17 18:32:45 -05:00
Nick Clifton a6ff997ce8 PR 14072
* wrapper.c: Include config.h before system header files.

	* callback.c: Include config.h before system header files.
	* cgen-trace.c: Likewise.
	* cgen-utils.c: Likewise.
	* gentmap.c: Likewise.

	* sim-if.c: Include config.h before system header files.

	* compile.c: Include config.h before system header files.
	* sim-main.h: Likewise.

	* gdb-if.c: Include config.h before system header files.
	* load.c: Likewise.
	* syscalls.c: Likewise.
	* trace.c: Likewise.

	* interp.c: Include config.h before system header files.
2012-05-19 16:46:16 +00:00
Mike Frysinger 2419798b80 sim: start a unified sim_do_command
Since sim_do_command for many people simply calls sim_args_command, start
a unified version of it.  For people who handle their own options, they
could switch to this by using sim_add_option_table instead.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-05 19:06:38 +00:00
Andrew Burgess dae477fed8 http://sourceware.org/ml/gdb-patches/2010-11/msg00112.html
gdb/ChangeLog
	* remote-sim.c (gdbsim_store_register): Update API to
	sim_store_register to check more error conditions.
include/gdb/ChangeLog
	* remote-sim.h (sim_store_register): Update the API
	documentation for this function.
sim/erc32/ChangeLog
sim/h8300/ChangeLog
sim/m32c/ChangeLog
sim/mn10300/ChangeLog
sim/ppc/ChangeLog
sim/rx/ChangeLog
sim/v850/ChangeLog
	* ???.c (sim_store_register): Update return value to
	match new API.
2011-01-11 14:19:34 +00:00
Mike Frysinger 5558e7e691 sim: constify sim_write source buffer (part 2)
As pointed out by Sandra Loosemore, a bunch of targets define sim_write
themselves instead of using the common/ code.  So constify them too.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-14 07:38:06 +00:00
Yoshinori Sato 3a6c31f95c 2009-12-09 Yoshinori Sato <ysato@users.sourceforge.jp>
* compile.c(fetch_1): Fix pre-dec, pre-inc, post-dec and post-inc.
	Index registers not masked memory areas.
	Only simply increment or decrement.
	* compile.c(store_1): Ditto.
2009-12-09 05:32:16 +00:00
Joel Sherrill c4212d37ab 2008-12-01 Joel Sherrill <joel.sherrill@oarcorp.com>
* compile.c: Add const to remove warning.
2008-12-01 16:10:45 +00:00
Daniel Jacobowitz 917c78f962 2007-07-03 Yoshinori Sato <ysato@users.sourceforge.jp>
* compile.c (sim_resume): Fix the last byte of ARGV for
	SYS_CMDLINE.
2007-07-03 17:19:38 +00:00
Yoshinori Sato b86015eaa5 compile.c (OBITOP): Bit address mask low three bit.
compile.c (decode): Fix warning.
2006-07-19 06:27:04 +00:00
Alexandre Oliva e073c4747a sim/h8300/ChangeLog:
2003-07-23  Richard Sandiford  <rsandifo@redhat.com>
* compile.c (sim_resume): Make sure that dst.reg refers to the
right register byte in mova/sz.l @(dd,RnL),ERn.
2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
* compile.c (sim_resume): Zero-extend immediate to muls, mulsu,
mulxs, divs and divxs.
sim/testsuite/sim/h8300/ChangeLog:
2003-07-22  Michael Snyder  <msnyder@redhat.com>
* mul.s: Don't try to use negative immediate (it's always
unsigned).
* div.s: Ditto.
2004-06-28 19:26:37 +00:00
Alexandre Oliva e4d3c499f5 * compile.c (sim_load): Update sd->memory_size. 2004-06-28 19:25:43 +00:00
Michael Snyder d6fd015d6e 2004-06-10 Michael Snyder <msnyder@redhat.com>
Patch submitted by Nitin Yewale <NitinY@KPITCummins.com>.
        * compile.c (sim_resume): Corrected ANDC operation on EXR for H8S.
2004-06-10 20:22:17 +00:00
Michael Snyder 3d29fdb489 2004-01-05 Michael Snyder <msnyder@redhat.com>
* compile.c (sim_load):	Don't pass a type to bfd_openr.
2004-01-06 00:58:48 +00:00
Dhananjay Deshpande 454d05118b Fix GDB crash problem when object file of different H8 cpu is loaded 2003-12-11 06:21:12 +00:00
Shrinivas Atre 59768597d9 2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
* h8300/compile.c : Addition of extern variable h8300_normal_mode
        (SP) : Handle normal mode
        (bitfrom) : Use normal mode flag to return suitable value
        (lvalue) : Use normal mode flag to return command line location
        (decode) : Decode instruction correctly for normal mode
        (init_pointers) : Initialise memory correctly for normal mode
        (sim_resume) : Handle cases for normal mode using h8300_normal_mode flag
        (sim_store_register) : Handle 2 byte PC for normal mode
        (sim_fetch_register) : Handle 2 byte PC for normal mode
        (set_h8300h) : Set normal mode flag as per architechture
        (sim_load) : Allocate 64K for normal mode instead of bigger memory
2003-10-17 12:45:55 +00:00
Michael Snyder f408565cc8 2003-07-18 Michael Snyder <msnyder@redhat.com>
* compile.c (decode): Enhancements for mova.
        Initialize cst, reg, and rdisp inside the loop, for each
        new instruction.  Defer correction of the disp2 values until
        later, and then adjust them by the size of the first operand,
        rather than the size of the instruction.
        (sim_resume): For mova, adjust the size of the second operand
        according to the type of the first operand (INDEXB vs. INDEXW).
        In cases where there is only one operand, the other two must
        both be composed on the fly.
2003-07-29 21:03:39 +00:00
Michael Snyder e22fef83d7 2003-07-22 Michael Snyder <msnyder@redhat.com>
* compile.c (sim_resume): Revert 6-24 change, it does not
        work with gdb breakpoints.
2003-07-22 19:07:30 +00:00
Michael Snyder 55acb21b1f 2003-07-17 Michael Snyder <msnyder@redhat.com>
* compile.c (sim_resume): Handle shll reg, reg and shlr reg, reg.
2003-07-18 00:10:41 +00:00
Michael Snyder 0f42aa719d 2003-07-17 Michael Snyder <msnyder@redhat.com>
* compile.c (decode): IMM16 is always zero-extended.
2003-07-18 00:08:23 +00:00
Michael Snyder f0861129d5 2003-06-24 Michael Snyder <msnyder@redhat.com>
* sim-main.h (SIM_WIFSTOPPED, SIM_WSTOPSIG): Define.
	* compile.c (sim_resume): Use the above to return stop signal.
2003-07-02 19:04:58 +00:00
Michael Snyder 9f70f8ec04 2003-06-18 Michael Snyder <msnyder@redhat.com>
* compile.c: Replace "Hitachi" with "Renesas".
        (decode): Distinguish AV_H8S from AV_H8H.
        (sim_resume): H8SX can use any register for TAS.
        (decode): Add support for VECIND.
        (sim_resume): Implement rte/l and rts/l.
        (GETSR): New macro (actually old macro reincarnated).
        (decode): Add handling for IMM2.
        (sim_resume): Drop extra block around jmp, jsr, rts.
        Add handling for trapa and rte.
        For divxu.b, change 0xffff mask to 0xff.
        (set_h8300h): Add bfd_mach_h8300sxn machine.
2003-06-19 02:14:14 +00:00
Michael Snyder 173b1c982a 2003-06-05 Michael Snyder <msnyder@redhat.com>
* compile.c (sim_fetch_register): Handle SBR, VBR, MACH, MACL.
	(sim_store_register): Ditto.
2003-06-19 00:49:33 +00:00
Michael Snyder 27ebfdf49b 2003-06-04 Michael Snyder <msnyder@redhat.com>
* 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-05 02:18:01 +00:00
Michael Snyder e8c1a4e716 2003-06-04 Michael Snyder <msnyder@redhat.com>
* compile.c (sim_info): Fix typo in output.
2003-06-04 18:28:21 +00:00
Michael Snyder dc5c3759e0 2003-06-03 Michael Snyder <msnyder@redhat.com>
* h8300/compile.c: Add h8300sx insns and addressing modes.
	* h8300/sim-main.h: Replaces h8300/inst.h.
	* h8300/Makefile.in: Tweak to bring in some sim/common stuff.
2003-06-03 21:38:27 +00:00
Michael Snyder b7f97e9cb4 2003-04-13 Michael Snyder <msnyder@redhat.com>
* compile.c (sim_resume): Implement 'daa' and 'das' instructions.
2003-04-13 17:06:29 +00:00
D.Venkatasubramanian d1360fb06a Added Commandline Support.
2003-03-20  D.Venkatasubramanian  <dvenkat@noida.hcltech.com>

        * compile.c (cmdline_location): Added function to
        return the location of 8-bit (256 locations) where the
        Command Line arguments would be stored.
        (decode): Added a TRAP to 0xcc for Commandline
        processing using pseudo opcode O_SYS_CMDLINE.
        (sim_resume): Added handling of O_SYS_CMDLINE Trap.
        (sim_create_inferior): Setting a pointer to
        Commandline Args array.
        * inst.h: Added a new variable ptr_command_line for
        storing pointer to Commandline array.
2003-03-20 06:00:25 +00:00
D.Venkatasubramanian bf17422685 File I/O Support added.
2003-03-14  D.Venkatasubramanian <dvenkat@noida.hcltech.com>

        * compile.c (decode): Added code for some more magic traps.
        * compile.c (sim_resume): Added support for File I/O system
        calls through callback to host_system.
        System calls provided support for :
        open, read, write, lseek, close, stat, fstat
        Only basic support for stat and fstat.
2003-03-14 04:12:01 +00:00
Andrew Cagney 6b4a89357a Index: arm/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* wrapper.c (sim_create_inferior, sim_open): Rename _bfd to bfd.

Index: common/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* sim-utils.h (sim_analyze_program, sim_load_file): Rename _bfd to bfd.
	* sim-hload.c (sim_load), sim-base.h (sim_state_base): Ditto.
	* nrun.c (main): Ditto.

Index: d10v/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: erc32/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interf.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: h8300/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* compile.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: h8500/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* compile.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: i960/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* sim-if.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: m32r/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* sim-if.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: m68hc11/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_prepare_for_program, sim_open)
	(sim_create_inferior): Rename _bfd to bfd.

Index: mcore/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: mips/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open):
	(sim_create_inferior):

Index: mn10200/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: mn10300/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open, sim_create_inferior, sim_open)
	(sim_create_inferior): Rename _bfd to bfd.

Index: ppc/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* sim_calls.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: sh/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (init_dsp, sim_open, sim_create_inferior): Rename _bfd
	to bfd.

Index: v850/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd.

Index: z8k/ChangeLog
2003-02-27  Andrew Cagney  <cagney@redhat.com>

	* iface.c (sim_open, sim_create_inferior): Rename _bfd to bfd.
2003-02-27 23:26:34 +00:00
Kazu Hirata ec38ce9947 * compile.c (init_pointers): Abort if wreg never gets initialized.
(sim_resume): Fix the handling of exts.w and extu.w.
2003-02-05 23:10:27 +00:00
Kazu Hirata ad4cda162b * compile.c (sim_resume): Fix the handling of bxor. 2003-02-01 03:00:14 +00:00
Michael Snyder 837fd61c26 Missed one... 2003-01-16 20:03:30 +00:00
Michael Snyder a4f27e3e0a 2003-01-16 Michael Snyder <msnyder@redhat.com>
* compile.c: Change K&R function definitions to ISO.
	(fetch): Make static, and eliminate unused parameter 'n'.
2003-01-16 19:54:35 +00:00
Kazu Hirata d0fe2f7e74 * compile.c: Fix formatting.
* inst.h: Likewise.
2002-12-26 05:44:46 +00:00
Andrey Volkov a64bfde32f Add dependences to Makefile.in and include sim-h8300 in compile.c 2002-07-29 17:01:57 +00:00
Andrew Cagney 3c25f8c7b0 Move include/callback.h and include/remote-sim.h to include/gdb/.
Update accordingly.
2002-06-09 15:45:54 +00:00
Kazu Hirata d13351445b * compile.c: Fix formatting. 2002-05-19 12:52:54 +00:00
Kazu Hirata c3f4437ee1 * compile.c: Fix formatting. 2002-05-18 11:40:19 +00:00
Andrey Volkov 6147b1f62b * compile.c: Add absented opcodes: LDC, STC, EEPMOV, TAS. 2002-05-17 19:22:14 +00:00
Andrey Volkov fc97460264 h8300: Add support of EXR register 2002-05-17 19:19:24 +00:00
Andrey Volkov a8cdafbd4e * h8300s now new target, not alias of h8300h 2002-05-17 19:09:13 +00:00
Andrey Volkov f6225c9615 *compile.c: Add additional CCR flags (I,UI,H,U) 2002-05-17 18:55:13 +00:00
Andrey Volkov 3b02cf9281 * compile.c: Change literal regnumbers to REGNUMS. 2002-05-17 18:47:14 +00:00
Kazu Hirata de9b1892f5 * compile.c: Fix formatting. 2001-12-20 17:36:23 +00:00
Kazu Hirata 2ea716f649 * compile.c: Fix comment typos. 2001-12-20 16:47:52 +00:00