aboutsummaryrefslogtreecommitdiff
path: root/sim/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2021-06-15sim: switch modules.c & version.c to stamp filesMike Frysinger1-3/+5
This fixes remaking of these files and avoids unnecessary rebuilds. Also add both to `make clean` to match other stamp files.
2021-06-14sim: enable silent rules in common buildsMike Frysinger1-15/+15
We only do the common code as automake simplifies the logic.
2021-06-12sim: start unifying portability shimsMike Frysinger1-0/+19
There are some functions that gnulib does not yet provide fallbacks for, so start a common file of our own for holding existing stubs.
2021-06-12sim: unify sim-load.o buildingMike Frysinger1-3/+47
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.
2021-06-12sim: overhaul alignment settings managementMike Frysinger1-0/+1
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.
2021-06-12sim: unify bug & package settingsMike Frysinger1-1/+5
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.
2021-06-12sim: unify debug/stdio/trace/profile build settingsMike Frysinger1-0/+4
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.
2021-06-12sim: unify environment build settingsMike Frysinger1-0/+1
Move the --sim-enable-environment option up to the common dir so we only test & export it once across all ports.
2021-06-12sim: unify assert build settingsMike Frysinger1-0/+1
Move the --sim-enable-assert option up to the common dir so we only test & export it once across all ports.
2021-06-12sim: unify platform function & header testsMike Frysinger1-10/+29
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.
2021-06-05sim: common: start dedicated local.mkMike Frysinger1-21/+81
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.
2021-05-16sim: install library header filesMike Frysinger1-37/+69
We install libsim.a for people to link against, but haven't been installing the header files to for its API. Export them!
2021-05-07sim: Add bfd include path for common testsuite toolsDimitar Dimitrov1-1/+2
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>
2021-05-04Fix igen buildTom Tromey1-0/+1
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.
2021-05-04sim: add support for build-time ar & ranlibMike Frysinger1-4/+12
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.
2021-04-03sim: testsuite: integrate common tests into buildMike Frysinger1-18/+562
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.
2021-04-03sim: add preliminary support for --enable-targetsMike Frysinger1-0/+2
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.
2021-04-02sim: igen: merge build into top levelMike Frysinger1-19/+311
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.
2021-04-02sim: unify toolchain settingsMike Frysinger1-2/+10
The toplevel, common, and igen dirs all have their own code for setting up toolchain settings. Unify all of that in a new macro.
2021-03-08Enable maintainer mode for simTom Tromey1-3/+4
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.
2021-03-07sim: testsuite: merge into toplevel automakeMike Frysinger1-17/+85
This allows us to delete most of our custom test logic, and avoids a recursive make for minor speed up.
2021-03-07sim: switch top level to automakeMike Frysinger1-252/+522
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.
2021-01-30sim: common: change gennltvals helper to PythonMike Frysinger1-1/+1
This tool is only run by developers and not in a release build, so rewrite it in Python to make it more maintainable.
2021-01-18sim: common: delete configure & MakefileMike Frysinger1-0/+14
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.
2021-01-01Update copyright year range in all GDB filesJoel Brobecker1-1/+1
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.
2020-01-01Update copyright year range in all GDB files.Joel Brobecker1-1/+1
gdb/ChangeLog: Update copyright year range in all GDB files.
2019-12-19Add install-strip to sim/Tom Tromey1-0/+10
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
2019-01-01Update copyright year range in all GDB files.Joel Brobecker1-1/+1
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.
2018-01-02Update copyright year range in all GDB filesJoel Brobecker1-1/+1
gdb/ChangeLog: Update copyright year range in all GDB files
2017-01-01update copyright year range in GDB filesJoel Brobecker1-1/+1
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.
2016-01-01GDB copyright headers update after running GDB's copyright.py script.Joel Brobecker1-1/+1
gdb/ChangeLog: Update year range in copyright notice of all files.
2015-01-01Update year range in copyright notice of all files owned by the GDB project.Joel Brobecker1-1/+1
gdb/ChangeLog: Update year range in copyright notice of all files.
2014-01-01Update Copyright year range in all files maintained by GDB.Joel Brobecker1-1/+1
2013-01-01Update years in copyright notice for the GDB files.Joel Brobecker1-2/+1
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.
2012-01-04Copyright year update in most files of the GDB Project.Joel Brobecker1-2/+2
gdb/ChangeLog: Copyright year update in most files of the GDB Project.
2011-01-01run copyright.sh for 2011.Joel Brobecker1-1/+1
2010-01-01Update copyright notices to add year 2010.Joel Brobecker1-1/+1
2009-07-30sim/Ralf Wildenhues1-0/+1
* 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-17gdb:Joseph Myers1-0/+3
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.
2009-01-14 Update the copyright notice of some of the files I missedJoel Brobecker1-1/+1
in the previous copyright update.
2008-01-01 Updated copyright notices for most files.Daniel Jacobowitz1-1/+2
2007-08-24 Switch the license of all files explicitly copyright the FSFJoel Brobecker1-5/+4
to GPLv3.
2007-03-27Add "make pdf" and "make install-pdf", from Brooks MosesDaniel Jacobowitz1-0/+1
<brooks.moses@codesourcery.com>.
2007-02-16 * Makefile.in (FLAGS_TO_PASS, TARGET_FLAGS_TO_PASS): Add RUNTEST.Thiemo Seufer1-0/+2
2007-01-09Copyright updates for 2007.Daniel Jacobowitz1-1/+1
2006-12-21 * Makefile.in (autoconf-common autoheader-common): Only runHans-Peter Nilsson1-1/+1
autoheader on subdirs with a file config.in.
2006-12-20 * Makefile.in (autoconf-common autoheader-common): In documentedHans-Peter Nilsson1-2/+2
usage, say SHELL=/bin/sh. (.PHONY): Add autoheader-common.
2006-08-08gdb/Daniel Jacobowitz1-0/+1
* 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.
2006-05-05sim/:Andreas Schwab1-4/+2
* 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.
2005-01-29 * Makefile.in (all, clean mostlyclean, distclean maintainer-clean)Hans-Peter Nilsson1-4/+4
(realclean, install): Fail if subdir make failed.