Age | Commit message (Collapse) | Author | Files | Lines |
|
This fixes remaking of these files and avoids unnecessary rebuilds.
Also add both to `make clean` to match other stamp files.
|
|
We only do the common code as automake simplifies the logic.
|
|
There are some functions that gnulib does not yet provide fallbacks
for, so start a common file of our own for holding existing stubs.
|
|
Since this file does not rely on any port-specific settings, move it
up to building as part of the common step so we only do it once in a
multibuild.
|
|
Currently, the sim-config module will abort if alignment settings
haven't been specified by the port's configure.ac. This is a bit
weird when we've allowed SIM_AC_OPTION_ALIGNMENT to seem like it's
optional to use. Thus everyone invokes it.
There are 4 alignment settings, but really only 2 matters: strict
and nonstrict. The "mixed" setting is just the default ("unset"),
and "forced" isn't used directly by anyone (it's available as a
runtime option for some ports).
The m4 macro has 2 args: the "wire" settings (which represents the
hardwired port behavior), and the default settings (which are used
if nothing else is specified). If none are specified, then the
build won't work (see above as if SIM_AC_OPTION_ALIGNMENT wasn't
called). If default settings are provided, then that is used, but
we allow the user to override at runtime. Otherwise, the "wire"
settings are used and user runtime options to change are ignored.
Most ports specify a default, or set the "wire" to nonstrict. A
few set "wire" to strict, but it's not clear that's necessary as
it doesn't make the code behavior, by default, any different. It
might make things a little faster, but we should provide the user
the choice of the compromises to make: force a specific mode at
compile time for faster runtime, or allow the choice at runtime.
More likely it seems like an oversight when these ports were
initially created, and/or copied & pasted from existing ports.
With all that backstory, let's get to what this commit does.
First kill off the idea of a compile-time default alignment and
set it to nonstrict in the common code. For any ports that want
strict alignment by default, that code is moved to sim_open while
initializing the sim. That means WITH_DEFAULT_ALIGNMENT can be
completely removed.
Moving the default alignment to the runtime also allows removal
of setting the "wire" settings at configure time. Which allows
removing of all arguments to SIM_AC_OPTION_ALIGNMENT and moving
that call to common code.
The macro logic can be reworked to not pass WITH_ALIGNMENT as -D
CPPFLAG and instead move it to config.h.
All of these taken together mean we can hoist the macro up to the
top level and share it among all sims so behavior is consistent
among all the ports.
|
|
Move these options up to the common dir so we only test & export
them once across all ports. The AC_INIT macro does a lot of the
heavy lifting already which allows further simplification.
|
|
Move these options up to the common dir so we only test & export
them once across all ports.
The ppc code needs a little extra care with its trace settings as
it's not exactly the same API as the common code. The other knobs
are the same though.
|
|
Move the --sim-enable-environment option up to the common dir so we
only test & export it once across all ports.
|
|
Move the --sim-enable-assert option up to the common dir so we only
test & export it once across all ports.
|
|
Move the various platform tests up a level to avoid duplication
across the ports. When building multiple versions, this speeds
things up a bit.
For now we move the obvious stuff up a level, but we don't turn
own the config.h entirely just yet -- we still have some tests
related to libraries that need consideration.
|
|
This provides a space to generate things that we only need to build
once per-arch. Some day that will be all of common/, but for now,
we move the version.c management in.
|
|
We install libsim.a for people to link against, but haven't been
installing the header files to for its API. Export them!
|
|
On a host without installed libbfd, this patch fixes the following
"make check-sim" errors for both pru cross target, and native x86_64:
In file included from ../../../binutils/sim/common/sim-basics.h:131,
from testsuite/common/bits32m0.c:13:../../../binutils/sim/../include/gdb/callback.h:55:10: fatal error: bfd.h: No such file or directory
55 | #include "bfd.h"
| ^~~~~~~
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
|
|
The igen build fails for me like:
gcc -g -O2 -c ../../binutils-gdb/sim/igen/igen.c -o igen/igen.o
In file included from ../../binutils-gdb/sim/igen/igen.c:26:
../../binutils-gdb/sim/igen/lf.h:22:10: fatal error: ansidecl.h: No such file or directory
This patch fixes the problem by arranging for igen to find the
libiberty includes.
This seems slightly hacky to me, because libiberty is not a "build"
library, so it can't be linked against. However, since igen currently
only includes the header, it seems relatively safe.
2021-05-04 Tom Tromey <tromey@adacore.com>
* Makefile.in: Rebuild.
* Makefile.am (AM_CPPFLAGS): New variable.
|
|
This is needed when building for a target whose ar & ranlib are
incompatible with the current build system. For example, building
for Windows on a Linux system.
Then manually import the automake rule for libigen.a, but tweak the
tool variables to use the FOR_BUILD variants.
|
|
Now that we have the common automake build with support for build-time
programs working, we can integrate the common tests into the default
`make check` flow.
|
|
This doesn't actually create one `run` program like other projects,
but creates multiple `run-$arch` targets. While it might not seem
that useful initially, this has some nice properties:
- Allows us to quickly build all sim targets in a single tree.
- Positions us better for converting targets over to a proper
multitarget build+install.
We don't have the ability to actually run tests against them, but
that's due to a limitation in gas: it doesn't support multitarget.
If that ever changes, we should be able to turn on our tests too.
We can improve the test framework to fallback to a system toolchain
if available to help mitigate that.
|
|
This simplifies the build a bit (especially for deps in port subdirs),
and avoids recursive make. This in turn speeds up the build, and sets
us up for multi-target.
|
|
The toplevel, common, and igen dirs all have their own code for
setting up toolchain settings. Unify all of that in a new macro.
|
|
The sim's recently switch to using Automake caused a build failure for
me, because I didn't have the correct auto* tools in my path.
However, the rule in the tree is that this is not needed in general.
This patch adds a call to AM_MAINTAINER_MODE, to align the sim with
the way the rest of the tree works here.
sim/ChangeLog
2021-03-08 Tom Tromey <tromey@adacore.com>
* aclocal.m4, configure, Makefile.in: Rebuild.
* configure.ac: Use AM_MAINTAINER_MODE.
|
|
This allows us to delete most of our custom test logic,
and avoids a recursive make for minor speed up.
|
|
This doesn't gain us much by itself, but it sets us up for using more
features as we try to unify ports and avoid recursive make.
|
|
This tool is only run by developers and not in a release build,
so rewrite it in Python to make it more maintainable.
|
|
This was mostly orphaned a while back, but left behind so people could
still run `make headers`. Merge that one target to the top sim dir and
delete all the build logic. This should avoid confusing people further.
|
|
This commits the result of running gdb/copyright.py as per our Start
of New Year procedure...
gdb/ChangeLog
Update copyright year range in copyright header of all GDB files.
|
|
gdb/ChangeLog:
Update copyright year range in all GDB files.
|
|
PR build/24572 notes that "make install-strip" fails. For me, it
works in every directory except "sim", so this patch adds
install-strip targets to the Makefiles that appear there.
sim/ChangeLog
2019-12-19 Tom Tromey <tromey@adacore.com>
PR build/24572:
* Makefile.in (install-strip): New target.
sim/common/ChangeLog
2019-12-19 Tom Tromey <tromey@adacore.com>
PR build/24572:
* Makefile.in (install-strip): New target.
sim/igen/ChangeLog
2019-12-19 Tom Tromey <tromey@adacore.com>
PR build/24572:
* Makefile.in (install-strip): New target.
sim/ppc/ChangeLog
2019-12-19 Tom Tromey <tromey@adacore.com>
PR build/24572:
* Makefile.in (install-strip): New target.
sim/testsuite/ChangeLog
2019-12-19 Tom Tromey <tromey@adacore.com>
PR build/24572:
* Makefile.in (install-strip): New target.
Change-Id: I76613bc5c7e7812284f33826f8a5d914477fcdc5
|
|
This commit applies all changes made after running the gdb/copyright.py
script.
Note that one file was flagged by the script, due to an invalid
copyright header
(gdb/unittests/basic_string_view/element_access/char/empty.cc).
As the file was copied from GCC's libstdc++-v3 testsuite, this commit
leaves this file untouched for the time being; a patch to fix the header
was sent to gcc-patches first.
gdb/ChangeLog:
Update copyright year range in all GDB files.
|
|
gdb/ChangeLog:
Update copyright year range in all GDB files
|
|
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.
gdb/ChangeLog:
Update copyright year range in all GDB files.
|
|
gdb/ChangeLog:
Update year range in copyright notice of all files.
|
|
gdb/ChangeLog:
Update year range in copyright notice of all 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.
|
|
gdb/ChangeLog:
Copyright year update in most files of the GDB Project.
|
|
|
|
|
|
* Makefile.in (datarootdir): New variable.
sim/common/
* Makefile.in (datarootdir): New variable.
sim/igen/
* Makefile.in (datarootdir): New variable.
sim/ppc/
* Makefile.in (datarootdir): New variable.
readline/
* Makefile.in (datarootdir): New variable.
* doc/Makefile.in (datarootdir): New variable.
* shlib/Makefile.in (datarootdir): New variable.
gdb/gdbserver/
* Makefile.in (datarootdir): New variable.
|
|
2009-04-17 Carlos O'Donell <carlos@codesourcery.com>
* configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
* configure: Regenerate.
* Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from
configure substitutions.
(FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir.
gdb/doc:
2009-04-17 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.in: Set pdfdir and htmldir from configure
substitutions.
* configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir.
* configure: Regenerate.
readline:
2009-04-17 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.in: Add html target. Add dummy install-html and
install-pdf targets.
sim:
2009-04-17 Carlos O'Donell <carlos@codesourcery.com>
* Makefile.in: Add dummy install-pdf, html, and
install-html targets.
|
|
in the previous copyright update.
|
|
|
|
to GPLv3.
|
|
<brooks.moses@codesourcery.com>.
|
|
|
|
|
|
autoheader on subdirs with a file config.in.
|
|
usage, say SHELL=/bin/sh.
(.PHONY): Add autoheader-common.
|
|
* config/sparc/embed.mt: New file.
* configure.tgt (sparc-*-rtems*): Use embed.mt.
sim/
* configure.ac (sparc-*-rtems*|sparc-*-elf*): Enable erc32 simulator.
* Makefile.in (FLAGS_TO_PASS): Include libdir.
* configure: Regenerated.
sim/erc32/
* Makefile.in (func.o, help.o): Correct dependencies.
* Makefile.in (install-sis): Honor DESTDIR.
|
|
* configure.ac (CFLAGS_FOR_BUILD): Set and substitute.
* configure: Regenerate.
* Makefile.in (CFLAGS_FOR_BUILD): Define.
(CC_FOR_BUILD): Don't override.
(FLAGS_TO_PASS): Pass CFLAGS_FOR_BUILD.
sim/ppc/:
* configure.ac (CFLAGS_FOR_BUILD): Set and substitute.
* configure: Regenerate.
* Makefile.in (CFLAGS_FOR_BUILD): Define.
(BUILD_CFLAGS): Use it instead of hardcoding "-g -O".
(gentmap): Fix typo BUILD_FLAGS -> BUILD_CFLAGS.
|
|
(realclean, install): Fail if subdir make failed.
|