diff options
author | Mike Frysinger <vapier@gentoo.org> | 2016-01-09 04:09:35 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2016-01-10 18:54:41 -0500 |
commit | ce39bd389039d99458950b072550ab52f0a07a34 (patch) | |
tree | 2bd4218fe7cc847322b73d613065a6825e49bcda /sim/common | |
parent | e19418e02e25ae4c62eb95547220897fa6aaf2e0 (diff) | |
download | gdb-ce39bd389039d99458950b072550ab52f0a07a34.zip gdb-ce39bd389039d99458950b072550ab52f0a07a34.tar.gz gdb-ce39bd389039d99458950b072550ab52f0a07a34.tar.bz2 |
sim: move many common settings from CPPFLAGS to config.h
Rather than stuffing the command line with a bunch of -D flags, start
moving things to config.h which is managed by autoheader. This makes
the makefile a bit simpler and the build output tighter, and it makes
the migration to automake easier as there are fewer vars to juggle.
We'll want to move the other options out too, but it'll take more work.
Diffstat (limited to 'sim/common')
-rw-r--r-- | sim/common/ChangeLog | 22 | ||||
-rw-r--r-- | sim/common/Make-common.in | 14 | ||||
-rw-r--r-- | sim/common/acinclude.m4 | 155 | ||||
-rwxr-xr-x | sim/common/configure | 6 | ||||
-rw-r--r-- | sim/common/sim-config.c | 3 | ||||
-rw-r--r-- | sim/common/sim-config.h | 52 | ||||
-rw-r--r-- | sim/common/sim-options.c | 2 |
7 files changed, 104 insertions, 150 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 8afffa4..7b5c8f9 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,5 +1,27 @@ 2016-01-10 Mike Frysinger <vapier@gentoo.org> + * acinclude.m4 (SIM_AC_COMMON): Call AC_MSG_CHECKING, + AC_DEFINE_UNQUOTED, and AC_MSG_RESULT for sim-debug. Likewise for + sim-stdio, sim-trace, and sim-profile. + (SIM_AC_OPTION_ENVIRONMENT): Likewise. + (SIM_AC_OPTION_ASSERT): Likewise. + (SIM_AC_OPTION_SMP): Likewise. + (SIM_AC_OPTION_XOR_ENDIAN): Likewise. + * configure: Regenerate. + * Make-common.in (SIM_DEBUG, SIM_TRACE, SIM_PROFILE, SIM_ASSERT, + SIM_ENVIRONMENT, SIM_SMP, SIM_XOR_ENDIAN): Delete. + (CONFIG_CFLAGS): Delete $(SIM_DEBUG), $(SIM_TRACE), $(SIM_PROFILE), + $(SIM_ASSERT), $(SIM_ENVIRONMENT), $(SIM_SMP), and $(SIM_XOR_ENDIAN). + * sim-config.c (sim_config): Change DEFAULT_ENVIRONMENT to + WITH_ENVIRONMENT & USER_ENVIRONMENT. + * sim-config.h (SIM_HAVE_ENVIRONMENT, WITH_ENVIRONMENT, + DEFAULT_ENVIRONMENT, WITH_DEBUG, WITH_TRACE, WITH_PROFILE, + WITH_ASSERT, WITH_STDIO): Delete. + * sim-options.c (standard_options): Delete SIM_HAVE_ENVIRONMENT + check. + +2016-01-10 Mike Frysinger <vapier@gentoo.org> + * acinclude.m4 (SIM_AC_OPTION_PACKAGES): Delete. * configure: Regenerate. * Make-common.in (SIM_PACKAGES): Delete. diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in index 49401dd..3d99f62 100644 --- a/sim/common/Make-common.in +++ b/sim/common/Make-common.in @@ -75,16 +75,11 @@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXXFLAGS = @CXXFLAGS@ LDFLAGS = @LDFLAGS@ -SIM_DEBUG = @sim_debug@ -SIM_TRACE = @sim_trace@ -SIM_PROFILE = @sim_profile@ -SIM_ASSERT = @sim_assert@ SIM_ALIGNMENT = @sim_alignment@ SIM_BITSIZE = @sim_bitsize@ SIM_DEFAULT_MODEL = @sim_default_model@ SIM_ENDIAN = @sim_endian@ -SIM_ENVIRONMENT = @sim_environment@ SIM_FLOAT = @sim_float@ SIM_HW_CFLAGS = @sim_hw_cflags@ SIM_HW_OBJS = @sim_hw_objs@ @@ -92,8 +87,6 @@ SIM_HW = @sim_hw@ SIM_INLINE = @sim_inline@ SIM_RESERVED_BITS = @sim_reserved_bits@ SIM_SCACHE = @sim_scache@ -SIM_SMP = @sim_smp@ -SIM_XOR_ENDIAN = @sim_xor_endian@ WARN_CFLAGS = @WARN_CFLAGS@ WERROR_CFLAGS = @WERROR_CFLAGS@ SIM_WARN_CFLAGS = $(WARN_CFLAGS) @@ -224,24 +217,17 @@ CGEN_INCLUDE_DEPS = \ CONFIG_CFLAGS = \ @DEFS@ \ - $(SIM_DEBUG) \ $(SIM_DEFAULT_MODEL) \ - $(SIM_TRACE) \ - $(SIM_PROFILE) \ - $(SIM_ASSERT) \ $(SIM_ALIGNMENT) \ $(SIM_BITSIZE) \ $(SIM_ENDIAN) \ - $(SIM_ENVIRONMENT) \ $(SIM_FLOAT) \ $(SIM_HW_CFLAGS) \ $(SIM_INLINE) \ $(SIM_RESERVED_BITS) \ $(SIM_SCACHE) \ - $(SIM_SMP) \ $(SIM_WARN_CFLAGS) \ $(SIM_WERROR_CFLAGS) \ - $(SIM_XOR_ENDIAN) \ $(SIM_HARDWARE) \ $(SIM_EXTRA_CFLAGS) \ $(HDEFINES) $(TDEFINES) diff --git a/sim/common/acinclude.m4 b/sim/common/acinclude.m4 index 16e6d5c..5ebf584 100644 --- a/sim/common/acinclude.m4 +++ b/sim/common/acinclude.m4 @@ -135,64 +135,67 @@ AM_MAINTAINER_MODE dnl --enable-sim-debug is for developers of the simulator dnl the allowable values are work-in-progress +AC_MSG_CHECKING([for sim debug setting]) +sim_debug="0" AC_ARG_ENABLE(sim-debug, [AS_HELP_STRING([--enable-sim-debug=opts], [Enable debugging flags (for developers of the sim itself)])], [case "${enableval}" in - yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";; - no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";; - *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";; -esac -if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then - echo "Setting sim debug = $sim_debug" 6>&1 -fi],[sim_debug=""])dnl -AC_SUBST(sim_debug) + yes) sim_debug="7";; + no) sim_debug="0";; + *) sim_debug="($enableval)";; +esac])dnl +if test "$sim_debug" != "0"; then + AC_DEFINE_UNQUOTED([DEBUG], [$sim_debug], [Sim debug setting]) +fi +AC_DEFINE_UNQUOTED([WITH_DEBUG], [$sim_debug], [Sim debug setting]) +AC_MSG_RESULT($sim_debug) dnl --enable-sim-stdio is for users of the simulator dnl It determines if IO from the program is routed through STDIO (buffered) +AC_MSG_CHECKING([for sim stdio debug behavior]) +sim_stdio="0" AC_ARG_ENABLE(sim-stdio, [AS_HELP_STRING([--enable-sim-stdio], [Specify whether to use stdio for console input/output])], [case "${enableval}" in - yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; - no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; - *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";; -esac -if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then - echo "Setting stdio flags = $sim_stdio" 6>&1 -fi],[sim_stdio=""])dnl -AC_SUBST(sim_stdio) + yes) sim_stdio="DO_USE_STDIO";; + no) sim_stdio="DONT_USE_STDIO";; + *) AC_MSG_ERROR([Unknown value $enableval passed to --enable-sim-stdio]);; +esac])dnl +AC_DEFINE_UNQUOTED([WITH_STDIO], [$sim_stdio], [How to route I/O]) +AC_MSG_RESULT($sim_stdio) dnl --enable-sim-trace is for users of the simulator dnl The argument is either a bitmask of things to enable [exactly what is dnl up to the simulator], or is a comma separated list of names of tracing dnl elements to enable. The latter is only supported on simulators that -dnl use WITH_TRACE. +dnl use WITH_TRACE. Default to all tracing but internal debug. +AC_MSG_CHECKING([for sim trace settings]) +sim_trace="~TRACE_debug" AC_ARG_ENABLE(sim-trace, [AS_HELP_STRING([--enable-sim-trace=opts], [Enable tracing of simulated programs])], [case "${enableval}" in - yes) sim_trace="-DWITH_TRACE=-1";; - no) sim_trace="-DWITH_TRACE=0";; + yes) sim_trace="-1";; + no) sim_trace="0";; [[-0-9]]*) - sim_trace="-DWITH_TRACE='(${enableval})'";; + sim_trace="'(${enableval})'";; [[[:lower:]]]*) sim_trace="" for x in `echo "$enableval" | sed -e "s/,/ /g"`; do if test x"$sim_trace" = x; then - sim_trace="-DWITH_TRACE='(TRACE_$x" + sim_trace="(TRACE_$x" else sim_trace="${sim_trace}|TRACE_$x" fi done - sim_trace="$sim_trace)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then - echo "Setting sim trace = $sim_trace" 6>&1 -fi],[sim_trace=""])dnl -AC_SUBST(sim_trace) + sim_trace="$sim_trace)" ;; +esac])dnl +AC_DEFINE_UNQUOTED([WITH_TRACE], [$sim_trace], [Sim trace settings]) +AC_MSG_RESULT($sim_trace) dnl --enable-sim-profile @@ -200,28 +203,32 @@ dnl The argument is either a bitmask of things to enable [exactly what is dnl up to the simulator], or is a comma separated list of names of profiling dnl elements to enable. The latter is only supported on simulators that dnl use WITH_PROFILE. +AC_MSG_CHECKING([for sim profile settings]) +profile="1" +sim_profile="-1" AC_ARG_ENABLE(sim-profile, [AS_HELP_STRING([--enable-sim-profile=opts], [Enable profiling flags])], [case "${enableval}" in - yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";; - no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";; + yes) profile="1" sim_profile="-1";; + no) profile="0" sim_profile="0";; [[-0-9]]*) - sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";; + profile="(${enableval})" sim_profile="(${enableval})";; [[a-z]]*) + profile="1" sim_profile="" for x in `echo "$enableval" | sed -e "s/,/ /g"`; do if test x"$sim_profile" = x; then - sim_profile="-DWITH_PROFILE='(PROFILE_$x" + sim_profile="(PROFILE_$x" else sim_profile="${sim_profile}|PROFILE_$x" fi done - sim_profile="$sim_profile)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then - echo "Setting sim profile = $sim_profile" 6>&1 -fi],[sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"])dnl -AC_SUBST(sim_profile) + sim_profile="$sim_profile)" ;; +esac])dnl +AC_DEFINE_UNQUOTED([PROFILE], [$profile], [Sim profile settings]) +AC_DEFINE_UNQUOTED([WITH_PROFILE], [$sim_profile], [Sim profile settings]) +AC_MSG_RESULT($sim_profile) + SIM_AC_OPTION_ASSERT SIM_AC_OPTION_ENVIRONMENT @@ -257,23 +264,21 @@ dnl ??? Until there is demonstrable value in doing something more complicated, dnl let's not. AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT], [ +AC_MSG_CHECKING([default sim environment setting]) +sim_environment="ALL_ENVIRONMENT" AC_ARG_ENABLE(sim-environment, [AS_HELP_STRING([--enable-sim-environment=environment], [Specify mixed, user, virtual or operating environment])], [case "${enableval}" in - all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";; - user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";; - virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";; - operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";; - *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-environment"); - sim_environment="";; -esac -if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then - echo "Setting sim environment = $sim_environment" 6>&1 -fi], -[sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"])dnl + all | ALL) sim_environment="ALL_ENVIRONMENT";; + user | USER) sim_environment="USER_ENVIRONMENT";; + virtual | VIRTUAL) sim_environment="VIRTUAL_ENVIRONMENT";; + operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";; + *) AC_MSG_ERROR([Unknown value $enableval passed to --enable-sim-environment]);; +esac])dnl +AC_DEFINE_UNQUOTED([WITH_ENVIRONMENT], [$sim_environment], [Sim default environment]) +AC_MSG_RESULT($sim_environment) ]) -AC_SUBST(sim_environment) dnl Specify the alignment restrictions of the target architecture. @@ -332,19 +337,19 @@ AC_SUBST(sim_alignment) dnl Conditionally compile in assertion statements. AC_DEFUN([SIM_AC_OPTION_ASSERT], [ +AC_MSG_CHECKING([whether to enable sim asserts]) +sim_assert="1" AC_ARG_ENABLE(sim-assert, [AS_HELP_STRING([--enable-sim-assert], [Specify whether to perform random assertions])], [case "${enableval}" in - yes) sim_assert="-DWITH_ASSERT=1";; - no) sim_assert="-DWITH_ASSERT=0";; - *) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";; -esac -if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then - echo "Setting assert flags = $sim_assert" 6>&1 -fi],[sim_assert=""])dnl + yes) sim_assert="1";; + no) sim_assert="0";; + *) AC_MSG_ERROR([--enable-sim-assert does not take a value]);; +esac])dnl +AC_DEFINE_UNQUOTED([WITH_ASSERT], [$sim_assert], [Sim assert settings]) +AC_MSG_RESULT($sim_assert) ]) -AC_SUBST(sim_assert) @@ -667,41 +672,39 @@ AC_SUBST(sim_reserved_bits) AC_DEFUN([SIM_AC_OPTION_SMP], [ +AC_MSG_CHECKING([number of sim cpus to support]) default_sim_smp="ifelse([$1],,5,[$1])" +sim_smp="$default_sim_smp"" AC_ARG_ENABLE(sim-smp, [AS_HELP_STRING([--enable-sim-smp=n], [Specify number of processors to configure for (default ${default_sim_smp})])], [case "${enableval}" in - yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";; - no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";; - *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";; -esac -if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then - echo "Setting smp flags = $sim_smp" 6>&1 -fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}" -if test x"$silent" != x"yes"; then - echo "Setting smp flags = $sim_smp" 6>&1 -fi])dnl + yes) sim_smp="5";; + no) sim_smp="0";; + *) sim_smp="$enableval";; +esac])dnl +sim_igen_smp="-N ${sim_smp}" +AC_DEFINE_UNQUOTED([WITH_SMP], [$sim_smp], [Sim SMP settings]) +AC_MSG_RESULT($sim_smp) ]) -AC_SUBST(sim_smp) AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN], [ +AC_MSG_CHECKING([for xor endian support]) default_sim_xor_endian="ifelse([$1],,8,[$1])" +sim_xor_endian="$default_sim_xor_endian" AC_ARG_ENABLE(sim-xor-endian, [AS_HELP_STRING([--enable-sim-xor-endian=n], [Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian})])], [case "${enableval}" in - yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";; - no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";; - *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";; -esac -if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then - echo "Setting xor-endian flag = $sim_xor_endian" 6>&1 -fi],[sim_xor_endian="-DWITH_XOR_ENDIAN=${default_sim_xor_endian}"])dnl + yes) sim_xor_endian="8";; + no) sim_xor_endian="0";; + *) sim_xor_endian="$enableval";; +esac])dnl +AC_DEFINE_UNQUOTED([WITH_XOR_ENDIAN], [$sim_xor_endian], [Sim XOR endian settings]) +AC_MSG_RESULT($sim_smp) ]) -AC_SUBST(sim_xor_endian) dnl --enable-build-warnings is for developers of the simulator. diff --git a/sim/common/configure b/sim/common/configure index a02b129..53082d4 100755 --- a/sim/common/configure +++ b/sim/common/configure @@ -602,8 +602,6 @@ PATH_SEPARATOR SHELL WERROR_CFLAGS WARN_CFLAGS -sim_xor_endian -sim_smp sim_reserved_bits sim_inline sim_hw @@ -614,9 +612,7 @@ sim_scache sim_float sim_endian sim_bitsize -sim_assert -sim_alignment -sim_environment' +sim_alignment' ac_subst_files='' ac_user_opts=' enable_option_checking diff --git a/sim/common/sim-config.c b/sim/common/sim-config.c index 7e66787..9da7105 100644 --- a/sim/common/sim-config.c +++ b/sim/common/sim-config.c @@ -237,7 +237,8 @@ sim_config (SIM_DESC sd) } #endif if (STATE_ENVIRONMENT (sd) == ALL_ENVIRONMENT) - STATE_ENVIRONMENT (sd) = DEFAULT_ENVIRONMENT; + STATE_ENVIRONMENT (sd) = (WITH_ENVIRONMENT != ALL_ENVIRONMENT ? + WITH_ENVIRONMENT : USER_ENVIRONMENT); /* set the alignment */ diff --git a/sim/common/sim-config.h b/sim/common/sim-config.h index 1c65365..88ecfd8 100644 --- a/sim/common/sim-config.h +++ b/sim/common/sim-config.h @@ -167,21 +167,6 @@ enum sim_environment { OPERATING_ENVIRONMENT }; -/* If the simulator specified SIM_AC_OPTION_ENVIRONMENT, indicate so. */ -#ifdef WITH_ENVIRONMENT -#define SIM_HAVE_ENVIRONMENT -#endif - -/* If the simulator doesn't specify SIM_AC_OPTION_ENVIRONMENT in its - configure.ac, the only supported environment is the user environment. */ -#ifndef WITH_ENVIRONMENT -#define WITH_ENVIRONMENT USER_ENVIRONMENT -#endif - -#define DEFAULT_ENVIRONMENT (WITH_ENVIRONMENT != ALL_ENVIRONMENT \ - ? WITH_ENVIRONMENT \ - : USER_ENVIRONMENT) - /* To be prepended to simulator calls with absolute file paths and chdir:ed at startup. */ extern char *simulator_sysroot; @@ -267,39 +252,6 @@ extern int current_floating_point; #endif -/* Debugging: - - Control the inclusion of debugging code. - Debugging is only turned on in rare circumstances [say during development] - and is not intended to be turned on otherwise. */ - -#ifndef WITH_DEBUG -#define WITH_DEBUG 0 -#endif - -/* Include the tracing code. Disabling this eliminates all tracing - code. Default to all tracing but internal debug. */ - -#ifndef WITH_TRACE -#define WITH_TRACE (~TRACE_debug) -#endif - -/* Include the profiling code. Disabling this eliminates all profiling - code. */ - -#ifndef WITH_PROFILE -#define WITH_PROFILE (-1) -#endif - - -/* include code that checks assertions scattered through out the - program */ - -#ifndef WITH_ASSERT -#define WITH_ASSERT 1 -#endif - - /* Whether to check instructions for reserved bits being set */ /* #define WITH_RESERVED_BITS 1 */ @@ -344,10 +296,6 @@ extern int current_model_issue; #define DONT_USE_STDIO 2 #define DO_USE_STDIO 1 -#ifndef WITH_STDIO -#define WITH_STDIO 0 -#endif - extern int current_stdio; #define CURRENT_STDIO (WITH_STDIO \ ? WITH_STDIO \ diff --git a/sim/common/sim-options.c b/sim/common/sim-options.c index 7393554..54a8c43 100644 --- a/sim/common/sim-options.c +++ b/sim/common/sim-options.c @@ -119,14 +119,12 @@ static const OPTION standard_options[] = 'E', "big|little", "Set endianness", standard_option_handler, NULL }, -#ifdef SIM_HAVE_ENVIRONMENT /* This option isn't supported unless all choices are supported in keeping with the goal of not printing in --help output things the simulator can't do [as opposed to things that just haven't been configured in]. */ { {"environment", required_argument, NULL, OPTION_ENVIRONMENT}, '\0', "user|virtual|operating", "Set running environment", standard_option_handler }, -#endif { {"alignment", required_argument, NULL, OPTION_ALIGNMENT}, '\0', "strict|nonstrict|forced", "Set memory access alignment", |