Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
With the conversion to the nrun frontend, this call should no longer be
necessary. It also actively crashes when trying to use the sd state.
|
|
Now that we have access to the sim state in all the right places,
use existing sim helpers in place of d10v_callback directly.
|
|
Now that we have access to the sim state everywhere, we can convert to
the common engine logic for overall processing. This frees us up from
tracking exception state ourselves.
|
|
By itself, this commit doesn't really change anything. It lays the
groundwork for using the cpu state in follow up commits, both for
engine state and for cpu state. Splitting things up this way so it
is easier to see how things have changed.
|
|
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.
|
|
These functions are only used in the interp module, so there's no point
in exporting them and declaring them in the external sim interface.
|
|
|
|
This helps standardize the configure --help output.
|
|
A few places still refer to the configure.in file; update them.
|
|
No code uses this anymore and the symbol conflicts with the new TRACE
helper. Punt it from configure.
|
|
Since every target typedefs this the same way, move it to the common code.
We have to leave Blackfin behind here for now because of inter-dependencies
on types and headers: sim-base.h includes sim-model.h which needs types in
machs.h which needs types in bfim-sim.h which needs SIM_CPU.
|
|
Almost every target defines sim_cia the same way -- either using the
address_word type directly, or a type of equivalent size. The only
odd one out is sh64 (who has 32bit address_word and 64bit cia), and
even that case doesn't seem to make sense. We'll put off clean up
though of sh64 and at least set up a sensible default for everyone.
|
|
The CIA_{GET,SET} macros serve the same function as CPU_PC_{GET,SET}
except the latter adds a layer of indirection via the sim state. This
lets models set up different functions at runtime and doesn't reach so
directly into the arch-specific cpu state.
It also doesn't make sense to have two sets of macros that do exactly
the same thing, so lets standardize on the one that gets us more.
|
|
This makes the common sim-cpu logic work.
|
|
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.
|
|
This should be SIM, not GDB.
|
|
This makes these two objects available to all sims by default.
|
|
Way back in aba6488e0b73756f31f154d12a228baa82a68d8a, a bunch of signal
defines were changed to TARGET_SIGNAL_xxx. For d10v, the transition was
incomplete which lead to sim_stop_reason using the new set but sim_resume
still using the old set. Which meant in some cases, the sim would never
actually stop.
Convert all the remaining SIGxxx defines in here to TARGET_SIGNAL_xxx.
This has the nice side effect of fixing the testsuite.
|
|
* arm/configure: Regenerated.
* avr/configure: Likewise.
* bfin/configure: Likewise.
* common/configure: Likewise.
* cr16/configure: Likewise.
* cris/configure: Likewise.
* d10v/configure: Likewise.
* erc32/configure: Likewise.
* frv/configure: Likewise.
* ft32/configure: Likewise.
* h8300/configure: Likewise.
* igen/configure: Likewise.
* iq2000/configure: Likewise.
* lm32/configure: Likewise.
* m32c/configure: Likewise.
* m32r/configure: Likewise.
* m68hc11/configure: Likewise.
* mcore/configure: Likewise.
* microblaze/configure: Likewise.
* mips/configure: Likewise.
* mn10300/configure: Likewise.
* moxie/configure: Likewise.
* msp430/configure: Likewise.
* ppc/configure: Likewise.
* rl78/configure: Likewise.
* rx/configure: Likewise.
* sh/configure: Likewise.
* sh64/configure: Likewise.
* v850/configure: Likewise.
|
|
* arm/configure: Regenerated.
* avr/configure: Likewise.
* bfin/configure: Likewise.
* common/configure: Likewise.
* cr16/configure: Likewise.
* cris/configure: Likewise.
* d10v/configure: Likewise.
* erc32/configure: Likewise.
* frv/configure: Likewise.
* ft32/configure: Likewise.
* h8300/configure: Likewise.
* igen/configure: Likewise.
* iq2000/configure: Likewise.
* lm32/configure: Likewise.
* m32c/configure: Likewise.
* m32r/configure: Likewise.
* m68hc11/configure: Likewise.
* mcore/configure: Likewise.
* microblaze/configure: Likewise.
* mips/configure: Likewise.
* mn10300/configure: Likewise.
* moxie/configure: Likewise.
* msp430/configure: Likewise.
* ppc/configure: Likewise.
* rl78/configure: Likewise.
* rx/configure: Likewise.
* sh/configure: Likewise.
* sh64/configure: Likewise.
* v850/configure: Likewise.
|
|
Now that all targets have been converted to nrun, we can finally punt
this old inconsistent interface.
A few stray references to the old run were sprinkled about; clean them
up in the process.
We leave behind the run(1) man page mostly so that we get it updated for
the new nrun interface.
|
|
With zlib being mandatory, and the updated m4 configs, we need to regen
and use the new settings w/bfd to avoid linkage errors.
|
|
While cleaning up stale make rules, one too many were deleted. The
build system autogenerates static rules, but not generated files.
|
|
|
|
A lot of cpu state is stored in global variables, as is memory handling.
The sim_size support needs unwinding at some point. But at least this
is an improvement on the status quo.
|
|
This hook is used only when linked into gdb, and d10v doesn't have a gdb
port anymore. Punt it.
|
|
|
|
In preparation for converting to nrun, call the common functions that
are needed. This doesn't produce any new warnings, and the generated
code should be the same.
|
|
Rather than manually include tconfig.h when we think we'll need it (which
is error prone as it can define symbols we expect from config.h), have it
be included directly by config.h. Since we know we have to include that
header everywhere already, this will make sure tconfig.h isn't missed.
It should also be fine as tconfig.h is supposed to be simple and only set
up a few core defines for the target.
This allows us to stop symlinking it in place all the time and just use
it straight out of the respective source directory.
|
|
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.
|
|
The SIM_AC_COMMON macro already checks for a bunch of headers, so specific
sim ports need not do it themselves.
|
|
gdb/ChangeLog:
Update year range in copyright notice of all files.
|
|
Directories that don't use libtool need to add -ldl (on most *nix
hosts) to provide dlopen for libbfd.
config/
* plugins.m4 (AC_PLUGINS): If plugins are enabled, add -ldl to
LIBS via AC_SEARCH_LIBS.
gdb/
* acinclude.m4 (GDB_AC_CHECK_BFD): Don't add -ldl.
* config.in: Regenerate.
sim/ppc/
* configure.ac: Invoke AC_PLUGINS.
* config.in: Regenerate.
and regen lots of configure files.
|
|
|
|
It is rare for people to want to modify the cmd arg. In general, they
really shouldn't be, but a few still do. For those who misbehave, dupe
the string locally so they can bang on it.
|
|
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.
|
|
Most of these prototypes have been killed off, but we have a few left
in the sim tree. Clean them up so we can enable the -W flag for it.
|
|
This removes the last uses of PARAMS from sim.
2014-01-06 Tom Tromey <tromey@redhat.com>
* README-HACKING: Don't use PARAMS.
* arm/wrapper.c: Don't use PARAMS.
* bfin/sim-main.h: Don't use PARAMS.
* common/callback.c: Don't use PARAMS.
* common/cgen-trace.c: Don't use PARAMS.
* common/run-sim.h: Don't use PARAMS.
* common/run.c: Don't use PARAMS.
* common/sim-base.h: Don't use PARAMS.
* common/sim-load.c: Don't use PARAMS.
* common/sim-options.h: Don't use PARAMS.
* common/sim-trace.c: Don't use PARAMS.
* common/sim-trace.h: Don't use PARAMS.
* common/sim-utils.h: Don't use PARAMS.
* cr16/cr16_sim.h: Don't use PARAMS.
* cr16/gencode.c: Don't use PARAMS.
* cr16/interp.c: Don't use PARAMS.
* cr16/simops.c: Don't use PARAMS.
* d10v/d10v_sim.h: Don't use PARAMS.
* d10v/gencode.c: Don't use PARAMS.
* d10v/interp.c: Don't use PARAMS.
* d10v/simops.c: Don't use PARAMS.
* erc32/erc32.c: Don't use PARAMS.
* erc32/exec.c: Don't use PARAMS.
* erc32/float.c: Don't use PARAMS.
* erc32/func.c: Don't use PARAMS.
* erc32/sis.c: Don't use PARAMS.
* erc32/sis.h: Don't use PARAMS.
* mips/interp.c: Don't use PARAMS.
* mips/sim-main.h: Don't use PARAMS.
* sh/interp.c: Don't use PARAMS.
* v850/sim-main.h: Don't use PARAMS.
* v850/v850_sim.h: Don't use PARAMS.
|
|
|
|
libtool.m4.
|
|
I noticed the sim code is using an old implementation of the maintainer logic.
I cut it over to the new macro (like gdb has been doing). In practice, it
makes no difference currently as nothing in the sim tree uses it, but I have a
follow up commit for the Blackfin tree that needs it.
|
|
Freddie Chopin <freddie_chopin@op.pl>
PR build/15414:
* configure: Rebuild.
* configure.ac (build_warnings): Do not use -Wformat-nonliteral
with -Wno-format.
sim/common
* acinclude.m4 (SIM_AC_OPTION_WARNINGS): Do not use
-Wformat-nonliteral with -Wno-format.
sim/bfin
* configure: Rebuild.
sim/cr16
* configure: Rebuild.
sim/cris
* configure: Rebuild.
sim/d10v
* configure: Rebuild.
sim/igen
* configure: Rebuild.
sim/m68hc11
* configure: Rebuild.
sim/mips
* configure: Rebuild.
sim/mn10300
* configure: Rebuild.
sim/v850
* configure: Rebuild.
|
|
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.
|
|
* 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.
|
|
The change of include file introduces some new warnings about functions
being used without a prototype. So a few more system includes have been
added to compensate for that.
sim/d10v/ChangeLog:
* interp.c: #include "config.h" instead of "sysdep.h".
Add conditional include of string.h or strings.h, as well as
conditional include of stdlib.h.
|
|
Some of the common includes in include/gdb such as callback.h
include bfd.h. But there was a recent change in bfd-in.h to
require that config.h be included before bfd.h can be included:
/* PR 14072: Ensure that config.h is included first. */
#if !defined PACKAGE && !defined PACKAGE_VERSION
#error config.h must be included before this header
#endif
PACKAGE_VERSION is always defined by default by the AC_INIT autoconf
macro, but PACKAGE isn't. This patch updates the SIM_AC_COMMON macro
to define it, and then regenerates all configure scripts and config.in
files.
sim/common/changeLog:
* acinclude.m4 (SIM_AC_COMMON): Define PACKAGE.
* config.in, configure: Regenerate.
sim/ChangeLog:
* configure: Regenerate.
sim/arm/ChangeLog:
* config.in, configure: Regenerate.
sim/avr/ChangeLog:
* config.in, configure: Regenerate.
sim/bfin/ChangeLog:
* config.in, configure: Regenerate.
sim/cr16/ChangeLog:
* config.in, configure: Regenerate.
sim/cris/ChangeLog:
* config.in, configure: Regenerate.
sim/d10v/ChangeLog:
* config.in, configure: Regenerate.
sim/erc32/ChangeLog:
* config.in, configure: Regenerate.
sim/frv/ChangeLog:
* config.in, configure: Regenerate.
sim/h8300/ChangeLog:
* config.in, configure: Regenerate.
sim/iq2000/ChangeLog:
* config.in, configure: Regenerate.
sim/lm32/ChangeLog:
* config.in, configure: Regenerate.
sim/m32c/ChangeLog:
* config.in, configure: Regenerate.
sim/m32r/ChangeLog:
* config.in, configure: Regenerate.
sim/m68hc11/ChangeLog:
* config.in, configure: Regenerate.
sim/mcore/ChangeLog:
* config.in, configure: Regenerate.
sim/microblaze/ChangeLog:
* config.in, configure: Regenerate.
sim/mips/ChangeLog:
* config.in, configure: Regenerate.
sim/mn10300/ChangeLog:
* config.in, configure: Regenerate.
sim/moxie/ChangeLog:
* config.in, configure: Regenerate.
sim/ppc/ChangeLog:
* configure: Regenerate.
sim/rl78/ChangeLog:
* config.in, configure: Regenerate.
sim/rx/ChangeLog:
* config.in, configure: Regenerate.
sim/sh/ChangeLog:
* config.in, configure: Regenerate.
sim/sh64/ChangeLog:
* config.in, configure: Regenerate.
sim/v850/ChangeLog:
* config.in, configure: Regenerate.
sim/testsuite/ChangeLog:
* configure: Regenerate.
|
|
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
gdb/gdbserver/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
include/gdb/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
* gdb/signals.def: Replace TARGET_SIGNAL_ with GDB_SIGNAL_
throughout.
sim/arm/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/avr/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/common/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/cr16/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/d10v/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/erc32/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/m32c/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/ppc/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/rl78/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
sim/rx/
2012-05-24 Pedro Alves <palves@redhat.com>
PR gdb/7205
Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
|
|
Before POSIX standardized strsignal(), old systems would hide the
prototype unless the normal extension defines were enabled. So use
the AC_USE_SYSTEM_EXTENSIONS helper for that.
Then make sure we include string.h ourselves in nrun.c rather than
relying on implicit includes via other sim headers.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
gdb/ChangeLog:
Copyright year update in most files of the GDB Project.
|