Commit Graph

117 Commits

Author SHA1 Message Date
Mike Frysinger 1b393626ce sim: punt WITH_DEVICES & tconfig.h support
No arch is using this anymore, and we want all new ports using the
hardware framework instead.  Punt WITH_DEVICES and the two callbacks
device_io_{read,write}_buffer.

We can also punt the tconfig.h file as no port is using it anymore.
This fixes in-tree builds that get confused by picking up the wrong
one (common/ vs <port>/) caused by commit ae7d0cac8c.

Any port that needs to set up a global define can use their own
sim-main.h file that they must provide regardless.
2015-12-26 20:38:31 -05:00
Mike Frysinger 0d58595077 sim: sim-model: build for everyone
Rather than include this for some targets, set it up so we can build it
all the time via the common code.  This makes it easier for targets to
opt into it when they're ready, increases build coverage, and allows us
to centralize much of the logic.

We also get to delete tconfig.h from two more targets -- they were
setting WITH_DEVICES to 0 which has the same behavior as not defining
it at all.

While the SIM_HAVE_MODEL knob is gone, we now have WITH_MODEL_P, but it
is only used by the common sim-model code.  We use it to declare dummy
model lists when the arch hasn't created its own.
2015-12-25 04:40:31 -05:00
Mike Frysinger dc11500a11 sim: common: set up CPPFLAGS/CXXFLAGS/LDFLAGS from configure [PR sim/18762]
Make sure we pass down the CPP/CXX/LD flags that configure set up for us
like we already do for C flags.
2015-11-22 02:23:25 -05:00
Mike Frysinger 797eee4264 sim: sim-stop/sim-reason/sim-reg: move to common obj list
Now that all arches (for the most part) have moved over, move sim-stop.o,
sim-reason.o, and sim-reg.o to the common object list and out of all the
arch ports.
2015-11-16 00:41:59 -05:00
Mike Frysinger 6e4f085c7f sim: sim-close: unify sim_close logic
Other than the nice advantage of all sims having to declare one fewer
common function, this also fixes leakage in pretty much every sim.
Many were not freeing any resources, and a few were inconsistent as
to the ones they did.  Now we have a single module that takes care of
all the logic for us.

Most of the non-cgen based ones could be deleted outright.  The cgen
ones required adding a callback to the arch-specific cleanup func.
The few that still have close callbacks are to manage their internal
state.

We do not convert erc32, m32c, ppc, rl78, or rx as they do not use
the common sim core.
2015-11-15 02:30:19 -05:00
Mike Frysinger 61a0c964e6 sim: syscall: unify memory helpers
Almost every port implements these two callbacks in the same way, so
unify them in the common layer.
2015-06-17 13:19:51 -04:00
Mike Frysinger 78e9aa70fe sim: unify sim-cpu usage
Now that all the targets are utilizing CPU_PC_{FETCH,STORE}, and the
cpu state is multicore, and the STATE_CPU defines match, we can move
it all to the common code.
2015-04-15 02:19:52 -04:00
Mike Frysinger 8c32ba2233 sim: switch to gdb version script
Since the local create-version.sh already points directly into the gdb
source tree, we might as well use the gdb script directly too.
2015-04-13 02:32:58 -04:00
Mike Frysinger 122bbfb52a sim: move sim-engine.o/sim-hrw.o to the common list
This makes these two objects available to all sims by default.
2015-04-06 23:56:47 -04:00
H.J. Lu 79730a3b26 Fix sim build
* common/Make-common.in (CSEARCH): Remove $(ZLIBINC).
	(BFD_LIB): Remove $(ZLIB).
	(CONFIG_LIBS): Add $(ZLIB).
	* ppc/Makefile.in (ZLIBINC): Removed.
	(INCLUDES): Remove $(ZLIBINC).
	(BFD_LIB): Remove $(ZLIB).
2015-04-01 10:27:43 -07:00
Mike Frysinger aadc9410ba sim: update zlib handling
With zlib being mandatory, and the updated m4 configs, we need to regen
and use the new settings w/bfd to avoid linkage errors.
2015-04-01 01:07:57 -04:00
Mike Frysinger 1303206d7f sim: delete unused sim-inline.c rule
This dates back to the start of the repo, but has never really been used.
The sim-inline.c file has been checked in to the source, and attempts to
build it in the build tree leads to a circular dep warning from make.  It
also doesn't produce a file that is usable -- it can't be compiled.  Punt!
2015-03-14 20:56:04 -04:00
Mike Frysinger 465fb143c8 sim: make nrun the default run program
We want people to stop using the run.c frontend, but it's hard to notice
when it's still set as the default.  Lets flip things so nrun.c is the
default, and users of run.c will get an error by default.  We turn that
error into a warning for existing sims so we don't break them -- this is
mostly meant for people starting new ports.
2015-03-14 07:02:58 -04:00
Joel Brobecker 32d0add0a6 Update year range in copyright notice of all files owned by the GDB project.
gdb/ChangeLog:

        Update year range in copyright notice of all files.
2015-01-01 13:32:14 +04:00
Joel Brobecker ecd75fc8ee Update Copyright year range in all files maintained by GDB. 2014-01-01 07:54:24 +04:00
Hans-Peter Nilsson 7b0648448f * create-version.sh: Align parameters to match those of
../../gdb/common/create-version.sh.
	* Make-common.in (srcsim): New variable.
	(version.c): Adjust call to create-version.sh as per above.
2013-10-15 20:40:22 +00:00
Tom Tromey d6c2da5446 move version.in from gdb/common back to gdb
This reverts part of the earlier version.in change.  It moves
version.in back to the gdb directory.  This works around the CVS bug
we've found.

gdb
	* Makefile.in (version.c): Use version.in, not
	common/version.in.
	* common/create-version.sh: Likewise.
	* common/version.in: Move...
	* version.in: ...here.
gdb/doc
	* Makefile.in (version.subst): Use version.in, not
	common/version.in.
	* gdbint.texinfo (Versions and Branches, Releasing GDB):
	Likewise.
gdb/gdbserver
	* Makefile.in (version.c): Use version.in, not
	common/version.in.
sim/common
	* Make-common.in (version.c): Use version.in, not
	common/version.in.
	* create-version.sh: Likewise.
sim/ppc:
	* Make-common.in (version.c): Use version.in, not
	common/version.in.
2013-06-28 18:59:51 +00:00
Joel Brobecker b652c496ac Adapt sim to new version number & date locations.
This change is required now that gdb/version.in has been moved to
gdb/common/version.in and now that the date needs to be fetched
from bfd/version.h.

sim/common/ChangeLog:

        * create-version.sh: New script. Adapted from
        gdb/commong/create-version.sh.
        * Make-common.in (version.c): Update rule dependencies,
        and re-implement using create-version.sh.

sim/ppc/ChangeLog:

        * Makefile.in (srccom): New variable.
        (version.c): Update rule dependencies, and re-implement using
        sim/common/create-version.sh.
2013-06-24 23:41:35 +00:00
Joel Brobecker 8acc9f485b Update years in copyright notice for the GDB files.
Two modifications:
  1. The addition of 2013 to the copyright year range for every file;
  2. The use of a single year range, instead of potentially multiple
     year ranges, as approved by the FSF.
2013-01-01 06:41:43 +00:00
H.J. Lu 6bb11ab3b2 Fix sim build when configured with --enable-plugins
* common/Make-common.in: Use lt_cv_dlopen_libs under PLUGINS
	condition.
	* common/acinclude.m4: Define lt_cv_dlopen_libs.
	* arm/configure: Regenerate.
	* avr/configure: Regenerate.
	* bfin/configure: Regenerate.
	* common/configure: Regenerate.
	* cr16/configure: Regenerate.
	* cris/configure: Regenerate.
	* d10v/configure: Regenerate.
	* erc32/configure: Regenerate.
	* frv/configure: Regenerate.
	* h8300/configure: Regenerate.
	* igen/configure: Regenerate.
	* iq2000/configure: Regenerate.
	* lm32/configure: Regenerate.
	* m32c/configure: Regenerate.
	* m32r/configure: Regenerate.
	* m68hc11/configure: Regenerate.
	* mcore/configure: Regenerate.
	* microblaze/configure: Regenerate.
	* mips/configure: Regenerate.
	* mn10300/configure: Regenerate.
	* moxie/configure: Regenerate.
	* ppc/configure: Regenerate.
	* rl78/configure: Regenerate.
	* rx/configure: Regenerate.
	* sh/configure: Regenerate.
	* sh64/configure: Regenerate.
	* testsuite/configure: Regenerate.
	* v850/configure: Regenerate.
2012-11-20 14:41:26 +00:00
Mike Frysinger 509deab2dc sim: use character classes rather than ranges
A-Z ranges don't work in all locales, so use character classes instead.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-03-19 04:54:48 +00:00
Joel Brobecker c5a5708100 Copyright year update in most files of the GDB Project.
gdb/ChangeLog:

        Copyright year update in most files of the GDB Project.
2012-01-04 08:28:28 +00:00
Joel Brobecker 96987c2b7f Work around Solaris bourne shell limitation when building the sim
Building the sim on a sparc-solaris 2.8 machine fails when configured
with no extra sim hardware:

> for hw in  ; do \
>         echo "extern const struct hw_descriptor
>         dv_${hw}_descriptor[];" ; \
>       done >> tmp-hw.h
> echo 'const char version[] = "'"`sed q
> /[...]/../../gdb/version.in`"'";'
> >> version.c-tmp
> /bin/sh: -c: line 1: syntax error near unexpected token `;'
> /bin/sh: -c: line 1: `for hw in  ; do \'
> make[3]: *** [hw-config.h] Error 2

The same thing happens with the version of bash that we got from
Sun as well (which is very old: 2.03.0(1)-release).

The problems comes from the fact that both shells are buggy, and
reject the following script:

    for hw in ; do
      [...]
    done

The above is what sim/common/Makefile.in tries to execute when
generating hw-config.h.

In order to allow users to build out of the box on these machines,
this patch works around this bug.  It does rely on the fact that
none of the tokens in SIM_HW contain whitespaces.

sim/common/ChangeLog:

        * Make-common.in (hw-config.h): Work around bug in Solaris 2.8
        system bourne shell.
2011-12-19 04:33:39 +00:00
Mike Frysinger db2e4d67e7 sim: generate build dependencies on the fly
Lift the code that GDB is using to generate dependencies on the fly and
port it over to the sim.  Now people shouldn't have to manually maintain
these in their Makefile's.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-12-03 18:23:51 +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
Mike Frysinger 66ee273116 sim: cfi: new flash device simulation
This simulates a CFI flash.  Its pretty configurable via the device
tree.  For now, only basic read/write/erase operations are supported
for the Intel command set, but it's easy enough to extend support.
It's certainly enough to trick Das U-Boot into using it for probing,
reading, writing, and erasing.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-03-29 17:57:21 +00:00
Joel Brobecker 7b6bb8daac run copyright.sh for 2011. 2011-01-01 15:34:07 +00:00
Doug Evans 8053273798 * Make-common.in (CGEN_SIM_DEPS): Define.
(CGEN_INCLUDE_DEPS): Use it.
	(CGEN_MAIN_CPU_DEPS): Simplify.
2010-01-25 00:48:17 +00:00
Joel Brobecker dc3cf14f35 Update copyright notices to add year 2010. 2010-01-01 10:03:36 +00:00
Tom Tromey 1428dcedf3 2009-10-02 Ralf Corsepius <ralf.corsepius@rtems.org>
* Make-common.in: Add datarootdir.
2009-10-02 15:43:17 +00:00
Doug Evans 6a8b86150e * common/Make-common.in (CPU_DIR): Define.
* iq2000/Makefile.in (stamp-arch): Use $(CPU_DIR) instead of $(CGEN_CPU_DIR).
(stamp-cpu): Ditto.
* m32r/Makefile.in (stamp-arch): Use $(CPU_DIR) instead of $(CGEN_CPU_DIR).
(stamp-cpu, stamp-xcpu, stamp-2cpu): Ditto.
2009-07-12 16:59:34 +00:00
Doug Evans 2c2a86d776 * Make-common.in (CGEN_CPU_EXTR,CGEN_CPU_READ): Pass canonical
identifiers for file types rather than encoding internal
	implementation details of cgen.sh.
	(CGEN_CPU_WRITE,CGEN_CPU_SEM,CGEN_CPU_SEMSW): Ditto.
	* cgen.sh: Add support for parallel makes.
	Rewrite cpu/decode handling to avoid generating "extrafiles" twice.
2009-07-07 08:09:19 +00:00
Joel Brobecker e4d013fc0f Update the copyright notice of some of the files I missed
in the previous copyright update.
2009-01-14 10:53:10 +00:00
Daniel Jacobowitz be091327d3 * Make-common.in (run$(EXEEXT)): Add LDFLAGS. 2008-10-21 19:50:48 +00:00
Joseph Myers 6efef468be sim:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* cris/configure: Regenerate.

sim/common:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* aclocal.m4: Include ../../config/acx.m4.
	* common.m4: Use ACX_PKGVERSION and ACX_BUGURL.
	* configure, config.in: Regenerate.
	* Make-common.in (LIB_OBJS): Add version.o.
	(version.c, version.o): New rules.
	* run.c: Include version.h.
	(usage): Add help parameter. Print output either to stdout or
	stderr depending on that parameter.
	(print_version): New.
	(main): Check for --help and --version.
	* run-sim.h (sim_target_display_usage): Add help parameter.
	* version.h: New.

sim/arm:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.
	* wrapper.c (sim_target_display_usage): Add help parameter.

sim/cr16:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/d10v:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/erc32:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/frv:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/h8300:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/iq2000:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/m32c:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/m32r:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/m68hc11:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/mcore:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/mips:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/mn10300:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/ppc:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
	* configure, config.in: Regenerated.
	* Makefile.in (LIB_OBJ): Add version.o.
	(version.c, version.o): New rules.
	* psim.c (psim_usage): Add help parameter.  Print the bug URL.
	Exit with code 0 for help.
	(psim_options): Update calls to psim_usage.  Handle --help and
	--version.
	* psim.h (psim_usage): Update prototype.
	* main.c (main): Update psim_usage call.

sim/sh:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/sh64:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.

sim/v850:
2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* configure: Regenerate.
2008-06-07 01:31:27 +00:00
Daniel Jacobowitz 9b254dd1ce Updated copyright notices for most files. 2008-01-01 22:53:26 +00:00
Joel Brobecker 4744ac1bb0 Switch the license of all files explicitly copyright the FSF
to GPLv3.
2007-08-24 14:30:15 +00:00
Daniel Jacobowitz 6aba47ca06 Copyright updates for 2007. 2007-01-09 17:59:20 +00:00
Daniel Jacobowitz 20e95c23ab Configury changes: update src repository (binutils, gdb, and rda) to use
config/gettext-sister.m4 instead of the old gettext.m4.  Regenerate all
affected autotools files.  Include intl in gdb releases again.
2006-05-31 15:14:46 +00:00
Corinna Vinschen 18d59ab9dd * Make-common.in (LIBDEPS): Correctly use INTLDEPS for dependency
check.
2005-05-24 14:21:19 +00:00
Daniel Jacobowitz ef5a45edc7 Update copyright years for last commit. 2005-05-18 01:55:46 +00:00
Daniel Jacobowitz 149cfe5bb4 * Make-common.in (install-common, installdirs): Honor $DESTDIR. 2005-05-18 01:54:39 +00:00
Paul Brook 4ec242d7be 2005-04-27 Paul Brook <paul@codesourcery.com>
* common/Make-common.in: Add $(EXEEXT) to "run".
2005-04-27 20:38:08 +00:00
Jim Blandy 9ab46d5398 cgen/ChangeLog:
2005-02-09  Jim Blandy  <jimb@redhat.com>

	* cgen-sim.scm (load-files): Don't load fixup.scm.  (See
	corresponding change in the sim/common directory.)

sim/common/ChangeLog:
2005-02-09  Jim Blandy  <jimb@redhat.com>

	* Make-common.in (CGEN): Load guile.scm, and include a trailing
	'-s' argument.
	(CGEN_FLAGS_TO_PASS): Include single quotes around the reference
	to $(CGEN), to ensure that the command substitution happens where
	the variable is referenced in the submake, not when the submake's
	arguments are expanded.
	(cgen.sh): Be prepared for the 'cgen' argument to contain spaces.
	(arch, cpu, decode, cpu-decode, defs, desc): Place the name of the
	application Scheme script directly after ${cgen}; don't precede it
	with a -s.
2005-02-09 22:04:04 +00:00
Hans-Peter Nilsson 70ae66113d * Make-common.in (sim-basics_h): Add $(callback_h). 2004-12-07 22:28:53 +00:00
Hans-Peter Nilsson 5e77bda967 Update copyright year 2004-12-01 02:32:08 +00:00
Hans-Peter Nilsson ad6e5d2e31 * cgen.sh: New thirteenth parameter opcfile, defaulting to
/dev/null.
	<case desc>: Pass -OPC opcfile.
	* Make-common.in (cgen-desc): Pass $(opcfile) as thirteenth
	parameter to cgen.sh.
2004-12-01 02:29:30 +00:00
Richard Earnshaw c87368acf2 * Make-common.in (sim-basics_h): Correct dependencies on
cconfig.h and tconfig.h
(sim-load.o): Correct typo in sim-basics_h dependency.
2004-11-30 13:44:13 +00:00
Richard Earnshaw 08cd376098 * Make-common.in (sim-*_h): Add rules for all sim headers. Also
add sub-dependencies for other sim files that they include.
(sim_main_headers): Use sim-*_h rules.
(sim-load.o): Depend on sim-basics_h, not sim_main_headers.
2004-11-18 10:21:39 +00:00
Hans-Peter Nilsson 1afbf1866f * Make-common.in (sim-load.o): Depend on $(sim_main_headers) and
$(remote_sim_h) too.
	(sim_main_headers): Add sim-utils.h.
2004-11-16 07:02:26 +00:00