From a35e91c3c7179f45522eee9c26520461b9f70d77 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Wed, 2 Apr 1997 05:04:25 +0000 Subject: [PATCH] New file common/sim-config.c sets/checks simulator configuration options. Update common/aclocal.m4 to better work with sim-config.[hc]. --- sim/arm/ChangeLog | 8 + sim/arm/configure | 72 +++----- sim/common/ChangeLog | 38 +++++ sim/common/Make-common.in | 69 ++++++++ sim/common/aclocal.m4 | 214 +++++++++++++----------- sim/common/configure | 72 +++----- sim/common/sim-config.c | 317 +++++++++++++++++++++++++++++++++++ sim/common/sim-config.h | 339 ++++++++++++++++++++++++++++++++++++++ sim/d10v/ChangeLog | 8 + sim/d10v/configure | 72 +++----- sim/erc32/ChangeLog | 8 + sim/erc32/configure | 76 ++++----- sim/h8300/ChangeLog | 8 + sim/h8300/configure | 72 +++----- sim/mips/ChangeLog | 12 ++ sim/mips/configure | 80 ++++----- sim/mn10300/ChangeLog | 18 ++ sim/mn10300/configure | 72 +++----- sim/sh/ChangeLog | 12 ++ sim/sh/configure | 72 +++----- sim/v850/ChangeLog | 8 + sim/v850/configure | 72 +++----- 22 files changed, 1203 insertions(+), 516 deletions(-) create mode 100644 sim/common/sim-config.c create mode 100644 sim/common/sim-config.h diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog index 82f15626d4a..2eb73867c5f 100644 --- a/sim/arm/ChangeLog +++ b/sim/arm/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Mar 19 01:14:00 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + Mon Mar 17 15:10:07 1997 Andrew Cagney * configure: Re-generate. diff --git a/sim/arm/configure b/sim/arm/configure index 7abaa13741e..c77922efd8f 100755 --- a/sim/arm/configure +++ b/sim/arm/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1270,6 +1249,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 9039055ec06..08f638c25ed 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,41 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Apr 2 11:08:11 1997 Andrew Cagney + + * sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT, + WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these + are defined by the configure. + + * aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure. + + * aclocal.m4 (floating-point, xor-endian, alignment, smp, + reserved-bits): Always define. + + * sim-config.h, sim-config.c (sim_config): New function - and new + file - co-ordinate the setting/checking of the common simulator + configuration options. + + * Make-common.in (sim-config.o): Add rule. + +Fri Mar 28 15:32:00 1997 Mike Meissner + + * callback.c (os_{,e}vprintf_filtered): Change stdarg type to + va_list from void *, since va_list might not be a pointer type. + +Mon Mar 24 15:27:12 1997 Andrew Cagney + + * sim-n-endian.h (offset_N): Correct assertion - word and sub word + in wrong order. + (offset_N): Correct computation of LE offset. + + * sim-io.c (sim_io_error): Include a new line when reporting + errors. + + * sim-assert.h (SIM_FILTER_PATH): Out by one when locating last + `/'. + Thu Mar 20 22:31:06 1997 Jeffrey A Law (law@cygnus.com) * run.c: Include alloca-conf.h. diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in index 5588b8cad3d..892d8593348 100644 --- a/sim/common/Make-common.in +++ b/sim/common/Make-common.in @@ -162,6 +162,74 @@ targ-map.c: gentmap rm -f targ-map.c ./gentmap -c >targ-map.c + +# +# Rules for building sim-* components. Triggered by listing the corresponding +# .o file in the list of simulator targets. +# + +sim-assert_h = $(srcdir)/../common/sim-assert.h +sim-endian_h = $(srcdir)/../common/sim-endian.h +sim-n-endian_h = $(srcdir)/../common/sim-n-endian.h +sim-bits_h = $(srcdir)/../common/sim-bits.h +sim-config_h = $(srcdir)/../common/sim-config.h +sim-n-bits_h = $(srcdir)/../common/sim-n-bits.h +sim-core_h = $(srcdir)/../common/sim-core.h +sim-n-core_h = $(srcdir)/../common/sim-n-core.h +sim-events_h = $(srcdir)/../common/sim-events.h +sim-io_h = $(srcdir)/../common/sim-io.h +sim-n-io_h = $(srcdir)/../common/sim-n-io.h + +sim-bits.o: sim-bits.c $(sim-bits_h) $(sim-n-bits_h) $(sim-assert_h) +sim-bits.c: $(srcdir)/../common/sim-bits.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + +sim-config.o: sim-config.c $(sim-config_h) $(sim-nconfig_h) $(sim-assert_h) +sim-config.c: $(srcdir)/../common/sim-config.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + +sim-core.o: sim-core.c $(sim-core_h) $(sim-n-core_h) +sim-core.c: $(srcdir)/../common/sim-core.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + +sim-endian.o: sim-endian.c $(sim-endian_h) $(sim-n-endian_h) $(sim-assert_h) +sim-endian.c: $(srcdir)/../common/sim-endian.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + +sim-events.o: sim-events.c $(sim-events_h) $(sim-assert_h) +sim-events.c: $(srcdir)/../common/sim-events.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + +sim-inline.c: $(srcdir)/../common/sim-inline.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + +sim-io.o: sim-io.c $(sim-io_h) $(sim-assert_h) +sim-io.c: $(srcdir)/../common/sim-io.c + rm -f $@ tmp-$@ + echo "# 1 \"$(srcdir)/../common/$@\"" > tmp-$@ + cat $(srcdir)/../common/$@ >> tmp-$@ + $(srcdir)/../../move-if-change tmp-$@ $@ + + + install: install-common $(SIM_EXTRA_INSTALL) install-common: @@ -185,6 +253,7 @@ clean: $(SIM_EXTRA_CLEAN) rm -f *.[oa] *~ core rm -f run libsim.a rm -f gentmap targ-map.c targ-vals.h + rm -f sim-bits.c sim-config.c sim-core.c sim-endian.c sim-events.c sim-inline.c sim-io.c distclean mostlyclean maintainer-clean realclean: clean rm -f TAGS diff --git a/sim/common/aclocal.m4 b/sim/common/aclocal.m4 index 64480a8e692..998c5611d47 100644 --- a/sim/common/aclocal.m4 +++ b/sim/common/aclocal.m4 @@ -51,47 +51,6 @@ dnl Eventually all simulators will support these. dnl Do not add any here that cannot be supported by all simulators. dnl Do not add similar but different options to a particular simulator, dnl all shall eventually behave the same way. -dnl -dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined. -dnl Simulators that wish to use the relevant option specify the macro -dnl in the simulator specific configure.in file between the SIM_AC_COMMON -dnl and SIM_AC_OUTPUT lines. - - -dnl Specify the alignment restrictions of the target architecture. -dnl Without this option all possible alignment restrictions are accomidated. -AC_DEFUN(SIM_AC_OPTION_ALIGNMENT, -[ -AC_ARG_ENABLE(sim-alignment, -[ --enable-sim-alignment=align Specify strict or nonstrict alignment.], -[case "${enableval}" in - yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";; - no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";; - 0 | default | DEFAULT) sim_alignment="-DWITH_ALIGNMENT=0";; - *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";; -esac -if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then - echo "Setting alignment flags = $sim_alignment" 6>&1 -fi],[sim_alignment=""])dnl -AC_SUBST(sim_alignment) -])dnl - - -dnl Conditionally compile in assertion statements. -AC_DEFUN(SIM_AC_OPTION_ASSERT, -[ -AC_ARG_ENABLE(sim-assert, -[ --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 -AC_SUBST(sim_assert) -]) dnl This is a generic option to enable special byte swapping @@ -138,6 +97,103 @@ fi],[sim_debug=""])dnl AC_SUBST(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_ARG_ENABLE(sim-stdio, +[ --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) + + +dnl --enable-sim-trace is for users of the simulator +dnl the allowable values are work-in-progress +AC_ARG_ENABLE(sim-trace, +[ --enable-sim-trace=opts Enable tracing flags], +[case "${enableval}" in + yes) sim_trace="-DTRACE=1 -DWITH_TRACE=1";; + no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";; + *) sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";; +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) + + +dnl These are available to append to as desired. +sim_link_files= +sim_link_links= + +dnl Create tconfig.h either from simulator's tconfig.in or default one +dnl in common. +sim_link_links=tconfig.h +if test -f ${srcdir}/tconfig.in +then + sim_link_files=tconfig.in +else + sim_link_files=../common/tconfig.in +fi + +# targ-vals.def points to the libc macro description file. +case "${target}" in +*-*-*) TARG_VALS_DEF=../common/nltvals.def ;; +esac +sim_link_files="${sim_link_files} ${TARG_VALS_DEF}" +sim_link_links="${sim_link_links} targ-vals.def" + +]) dnl End of SIM_AC_COMMON + + +dnl Additional SIM options that can (optionally) be configured +dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined. +dnl Simulators that wish to use the relevant option specify the macro +dnl in the simulator specific configure.in file between the SIM_AC_COMMON +dnl and SIM_AC_OUTPUT lines. + + +dnl Specify the alignment restrictions of the target architecture. +dnl Without this option all possible alignment restrictions are accomidated. +AC_DEFUN(SIM_AC_OPTION_ALIGNMENT, +[ +AC_ARG_ENABLE(sim-alignment, +[ --enable-sim-alignment=align Specify strict or nonstrict alignment.], +[case "${enableval}" in + yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";; + no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";; + 0 | default | DEFAULT) sim_alignment="-DWITH_ALIGNMENT=0";; + *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";; +esac +if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then + echo "Setting alignment flags = $sim_alignment" 6>&1 +fi],[sim_alignment=""])dnl +AC_SUBST(sim_alignment) +])dnl + + +dnl Conditionally compile in assertion statements. +AC_DEFUN(SIM_AC_OPTION_ASSERT, +[ +AC_ARG_ENABLE(sim-assert, +[ --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 +AC_SUBST(sim_assert) +]) + + dnl --enable-sim-endian={yes,no,big,little} is for simulators dnl that support both big and little endian targets. AC_DEFUN(SIM_AC_OPTION_ENDIAN, @@ -195,8 +251,9 @@ AC_SUBST(sim_hostendian) AC_DEFUN(SIM_AC_OPTION_FLOAT, [ +default_sim_floating_point="ifelse([$1],,0,[$1])" AC_ARG_ENABLE(sim-float, -[ --enable-sim-float Specify whether to use host floating point or simulate.], +[ --enable-sim-float Specify that the target processor has floating point hardware.], [case "${enableval}" in yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";; no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";; @@ -204,7 +261,7 @@ AC_ARG_ENABLE(sim-float, esac if test x"$silent" != x"yes" && test x"$sim_float" != x""; then echo "Setting float flags = $sim_float" 6>&1 -fi],[sim_float=""])dnl +fi],[sim_float="-DWITH_FLOATING_POINT=${default_sim_floating_point}"])dnl AC_SUBST(sim_float) ]) @@ -322,6 +379,7 @@ AC_SUBST(sim_regparm) AC_DEFUN(SIM_AC_OPTION_RESERVED_BITS, [ +default_sim_reserved_bits="ifelse([$1],,1,[$1])" AC_ARG_ENABLE(sim-reserved-bits, [ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.], [case "${enableval}" in @@ -331,15 +389,16 @@ AC_ARG_ENABLE(sim-reserved-bits, esac if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then echo "Setting reserved flags = $sim_reserved_bits" 6>&1 -fi],[sim_reserved_bits=""])dnl +fi],[sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}"])dnl AC_SUBST(sim_reserved_bits) ]) AC_DEFUN(SIM_AC_OPTION_SMP, [ +default_sim_smp="ifelse([$1],,5,[$1])" AC_ARG_ENABLE(sim-smp, -[ --enable-sim-smp=n Specify number of processors to configure for.], +[ --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";; @@ -347,7 +406,7 @@ AC_ARG_ENABLE(sim-smp, 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=5" ; sim_igen_smp="-N 5" +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 @@ -372,19 +431,21 @@ AC_SUBST(sim_stdcall) ]) -dnl --enable-sim-trace is for users of the simulator -dnl the allowable values are work-in-progress -AC_ARG_ENABLE(sim-trace, -[ --enable-sim-trace=opts Enable tracing flags], +AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN, +[ +default_sim_xor_endian="ifelse([$1],,8,[$1])" +AC_ARG_ENABLE(sim-xor-endian, +[ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).], [case "${enableval}" in - yes) sim_trace="-DTRACE=1 -DWITH_TRACE=1";; - no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";; - *) sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";; + 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_trace" != x""; then - echo "Setting sim trace = $sim_trace" 6>&1 -fi],[sim_trace=""])dnl -AC_SUBST(sim_trace) +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 +AC_SUBST(sim_xor_endian) +]) dnl --enable-sim-warnings is for developers of the simulator. @@ -405,45 +466,6 @@ AC_SUBST(sim_warnings) ]) -AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN, -[ -AC_ARG_ENABLE(sim-xor-endian, -[ --enable-sim-xor-endian=n Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).], -[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=""])dnl -AC_SUBST(sim_xor_endian) -]) - -dnl These are available to append to as desired. -sim_link_files= -sim_link_links= - -dnl Create tconfig.h either from simulator's tconfig.in or default one -dnl in common. -sim_link_links=tconfig.h -if test -f ${srcdir}/tconfig.in -then - sim_link_files=tconfig.in -else - sim_link_files=../common/tconfig.in -fi - -# targ-vals.def points to the libc macro description file. -case "${target}" in -*-*-*) TARG_VALS_DEF=../common/nltvals.def ;; -esac -sim_link_files="${sim_link_files} ${TARG_VALS_DEF}" -sim_link_links="${sim_link_links} targ-vals.def" - -]) dnl End of SIM_AC_COMMON - - dnl Generate the Makefile in a target specific directory. dnl Substitutions aren't performed on the file in AC_SUBST_FILE, dnl so this is a cover macro to tuck the details away of how we cope. diff --git a/sim/common/configure b/sim/common/configure index f6d2a9488cb..12b10ec1668 100755 --- a/sim/common/configure +++ b/sim/common/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -736,7 +738,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:740: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:742: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -843,11 +845,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -904,11 +906,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -961,33 +958,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1008,11 +992,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1077,13 +1056,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1092,13 +1071,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1126,12 +1105,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1114: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1298,6 +1277,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP_FOR_TARGET@%$CPP_FOR_TARGET%g s%@TARGET_SUBDIR@%$TARGET_SUBDIR%g diff --git a/sim/common/sim-config.c b/sim/common/sim-config.c new file mode 100644 index 00000000000..c6ee9079faa --- /dev/null +++ b/sim/common/sim-config.c @@ -0,0 +1,317 @@ +/* This file is part of the GNU simulators. + + Copyright (C) 1994-1995,1997, Andrew Cagney + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + */ + + +#include "sim-state.h" + + +int current_host_byte_order; +int current_target_byte_order; +int current_stdio; + +#if defined (WITH_ENVIRONMENT) +int current_environment; +#endif + +#if defined (WITH_ALIGNMENT) +int current_alignment; +#endif + +#if defined (WITH_FLOATING_POINT) +int current_floating_point; +#endif + + + +/* map a byte order onto a textual string */ + +static const char * +config_byte_order_to_a (int byte_order) +{ + switch (byte_order) + { + case LITTLE_ENDIAN: + return "LITTLE_ENDIAN"; + case BIG_ENDIAN: + return "BIG_ENDIAN"; + case 0: + return "0"; + } + return "UNKNOWN"; +} + + +static const char * +config_stdio_to_a (int stdio) +{ + switch (stdio) + { + case DONT_USE_STDIO: + return "DONT_USE_STDIO"; + case DO_USE_STDIO: + return "DO_USE_STDIO"; + case 0: + return "0"; + } + return "UNKNOWN"; +} + + +#if defined (WITH_ENVIRONMENT) +static const char * +config_environment_to_a (int environment) +{ + switch (environment) + { + case USER_ENVIRONMENT: + return "USER_ENVIRONMENT"; + case VIRTUAL_ENVIRONMENT: + return "VIRTUAL_ENVIRONMENT"; + case OPERATING_ENVIRONMENT: + return "OPERATING_ENVIRONMENT"; + case 0: + return "0"; + } + return "UNKNOWN"; +} +#endif + + +#if defined (WITH_ALIGNMENT) +static const char * +config_alignment_to_a (int alignment) +{ + switch (alignment) + { + case NONSTRICT_ALIGNMENT: + return "NONSTRICT_ALIGNMENT"; + case STRICT_ALIGNMENT: + return "STRICT_ALIGNMENT"; + case 0: + return "0"; + } + return "UNKNOWN"; +} +#endif + + +#if defined (WITH_FLOATING_POINT) +static const char * +config_floating_point_to_a (int floating_point) +{ + switch (floating_point) + { + case SOFT_FLOATING_POINT: + return "SOFT_FLOATING_POINT"; + case HARD_FLOATING_POINT: + return "HARD_FLOATING_POINT"; + case 0: + return "0"; + } + return "UNKNOWN"; +} +#endif + + +void +sim_config (SIM_DESC sd, + int prefered_target_byte_order) +{ + + /* set the host byte order */ + current_host_byte_order = 1; + if (*(char*)(¤t_host_byte_order)) + current_host_byte_order = LITTLE_ENDIAN; + else + current_host_byte_order = BIG_ENDIAN; + + /* verify the host byte order */ + if (CURRENT_HOST_BYTE_ORDER != current_host_byte_order) + sim_io_error (sd, "host (%s) and configured (%s) byte order in conflict", + config_byte_order_to_a (current_host_byte_order), + config_byte_order_to_a (CURRENT_HOST_BYTE_ORDER)); + + + /* set the target byte order */ +#if (WITH_DEVICES) + if (current_target_byte_order == 0) + current_target_byte_order + = (tree_find_boolean_property(root, "/options/little-endian?") + ? LITTLE_ENDIAN + : BIG_ENDIAN); +#endif + if (current_target_byte_order == 0 + && prefered_target_byte_order != 0) + current_target_byte_order = prefered_target_byte_order; + if (current_target_byte_order == 0) + current_target_byte_order = WITH_TARGET_BYTE_ORDER; + + /* verify the target byte order */ + if (CURRENT_TARGET_BYTE_ORDER == 0) + sim_io_error (sd, "target byte order unspecified"); + if (CURRENT_TARGET_BYTE_ORDER != current_target_byte_order) + sim_io_error (sd, "target (%s) and configured (%s) byte order in conflict", + config_byte_order_to_a (current_target_byte_order), + config_byte_order_to_a (CURRENT_TARGET_BYTE_ORDER)); + if (prefered_target_byte_order != 0 + && CURRENT_TARGET_BYTE_ORDER != prefered_target_byte_order) + sim_io_error (sd, "target (%s) and specified (%s) byte order in conflict", + config_byte_order_to_a (CURRENT_TARGET_BYTE_ORDER), + config_byte_order_to_a (prefered_target_byte_order)); + + + /* set the stdio */ + if (current_stdio == 0) + current_stdio = WITH_STDIO; + if (current_stdio == 0) + current_stdio = DO_USE_STDIO; + + /* verify the stdio */ + if (CURRENT_STDIO == 0) + sim_io_error (sd, "target standard IO unspecified"); + if (CURRENT_STDIO != current_stdio) + sim_io_error (sd, "target (%s) and configured (%s) standard IO in conflict", + config_stdio_to_a (CURRENT_STDIO), + config_stdio_to_a (current_stdio)); + + +#if defined (WITH_ENVIRONMENT) + + /* set the environment */ +#if (WITH_DEVICES) + if (current_environment == 0) + { + const char *env = + tree_find_string_property(root, "/openprom/options/env"); + current_environment = ((strcmp(env, "user") == 0 + || strcmp(env, "uea") == 0) + ? USER_ENVIRONMENT + : (strcmp(env, "virtual") == 0 + || strcmp(env, "vea") == 0) + ? VIRTUAL_ENVIRONMENT + : (strcmp(env, "operating") == 0 + || strcmp(env, "oea") == 0) + ? OPERATING_ENVIRONMENT + : 0); + } +#endif + if (current_environment == 0) + current_environment = WITH_ENVIRONMENT; + + /* verify the environment */ + if (CURRENT_ENVIRONMENT == 0) + sim_io_error (sd, "target environment unspecified"); + if (CURRENT_ENVIRONMENT != current_environment) + sim_io_error (sd, "target (%s) and configured (%s) environment in conflict", + config_environment_to_a (CURRENT_ENVIRONMENT), + config_environment_to_a (current_environment)); +#endif + + +#if defined (WITH_ALIGNMENT) + + /* set the alignment */ +#if defined (WITH_DEVICES) + if (current_alignment == 0) + current_alignment = + (tree_find_boolean_property(root, "/openprom/options/strict-alignment?") + ? STRICT_ALIGNMENT + : NONSTRICT_ALIGNMENT); +#endif + if (current_alignment == 0) + current_alignment = WITH_ALIGNMENT; + + /* verify the alignment */ + if (CURRENT_ALIGNMENT == 0) + sim_io_error (sd, "target alignment unspecified"); + if (CURRENT_ALIGNMENT != current_alignment) + sim_io_error (sd, "target (%s) and configured (%s) alignment in conflict", + config_alignment_to_a (CURRENT_ALIGNMENT), + config_alignment_to_a (current_alignment)); +#endif + + +#if defined (WITH_FLOAING_POINT) + + /* set the floating point */ + if (current_floating_point == 0) + current_floating_point = WITH_FLOATING_POINT; + + /* verify the floating point */ + if (CURRENT_FLOATING_POINT == 0) + sim_io_error (sd, "target floating-point unspecified"); + if (CURRENT_FLOATING_POINT != current_floating_point) + sim_io_error (sd, "target (%s) and configured (%s) floating-point in conflict", + config_alignment_to_a (CURRENT_FLOATING_POINT), + config_alignment_to_a (current_floating_point)); + +#endif + + +} + + +void +print_sim_config (SIM_DESC sd) +{ +#if defined (__GNUC__) && defined (__VERSION__) + sim_io_printf (sd, "Compiled by GCC %s on %s %s\n", + __VERSION__, __DATE__, __TIME__); +#else + sim_io_printf (sd, "Compiled on %s %s\n", __DATE__, __TIME__); +#endif + + sim_io_printf (sd, "WITH_TARGET_BYTE_ORDER = %s\n", + config_byte_order_to_a (WITH_TARGET_BYTE_ORDER)); + + sim_io_printf (sd, "WITH_HOST_BYTE_ORDER = %s\n", + config_byte_order_to_a (WITH_HOST_BYTE_ORDER)); + + sim_io_printf (sd, "WITH_STDIO = %s\n", + config_stdio_to_a (WITH_STDIO)); + +#if defined (WITH_XOR_ENDIAN) + sim_io_printf (sd, "WITH_XOR_ENDIAN = %d\n", WITH_XOR_ENDIAN); +#endif + +#if defined (WITH_ENVIRONMENT) + sim_io_printf (sd, "WITH_ENVIRONMENT = %s\n", + config_environment_to_a (WITH_ENVIRONMENT)); +#endif + +#if defined (WITH_ALIGNMENT) + sim_io_printf (sd, "WITH_ALIGNMENT = %s\n", + config_alignment_to_a (WITH_ALIGNMENT)); +#endif + +#if defined (WITH_FLOATING_POINT) + sim_io_printf (sd, "WITH_FLOATING_POINT = %s\n", + config_floating_point_to_a (WITH_FLOATING_POINT)); +#endif + +#if defined (WITH_SMP) + sim_io_printf (sd, "WITH_SMP = %d\n", WITH_SMP); +#endif + +#if defined (WITH_RESERVED_BITS) + sim_io_printf (sd, "WITH_RESERVED_BITS = %d\n", WITH_RESERVED_BITS); +#endif + +} diff --git a/sim/common/sim-config.h b/sim/common/sim-config.h new file mode 100644 index 00000000000..c7e72b60642 --- /dev/null +++ b/sim/common/sim-config.h @@ -0,0 +1,339 @@ +/* This file is part of the program psim. + + Copyright (C) 1994-1995, Andrew Cagney + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + */ + + +#ifndef _PSIM_CONFIG_H_ +#define _PSIM_CONFIG_H_ + + +/* endianness of the host/target: + + If the build process is aware (at compile time) of the endianness + of the host/target it is able to eliminate slower generic endian + handling code. + + Possible values are 0 (unknown), LITTLE_ENDIAN, BIG_ENDIAN */ + +#ifndef WITH_HOST_BYTE_ORDER +#define WITH_HOST_BYTE_ORDER 0 /*unknown*/ +#endif + +#ifndef WITH_TARGET_BYTE_ORDER +#define WITH_TARGET_BYTE_ORDER 0 /*unknown*/ +#endif + +extern int current_host_byte_order; +#define CURRENT_HOST_BYTE_ORDER (WITH_HOST_BYTE_ORDER \ + ? WITH_HOST_BYTE_ORDER \ + : current_host_byte_order) +extern int current_target_byte_order; +#define CURRENT_TARGET_BYTE_ORDER (WITH_TARGET_BYTE_ORDER \ + ? WITH_TARGET_BYTE_ORDER \ + : current_target_byte_order) + + + +/* XOR endian. + + In addition to the above, the simulator can support the's horrible + XOR endian mode (for instance implemented by the PowerPC). This + feature makes it possible to control the endian mode of a processor + using the MSR. */ + +/* #define WITH_XOR_ENDIAN 8 */ + + + +/* Intel host BSWAP support: + + Whether to use bswap on the 486 and pentiums rather than the 386 + sequence that uses xchgb/rorl/xchgb */ +#ifndef WITH_BSWAP +#define WITH_BSWAP 0 +#endif + + + +/* SMP support: + + Sets a limit on the number of processors that can be simulated. If + WITH_SMP is set to zero (0), the simulator is restricted to + suporting only on processor (and as a consequence leaves the SMP + code out of the build process). + + The actual number of processors is taken from the device + /options/smp@ */ + +#if defined (WITH_SMP) + +#if WITH_SMP +#define MAX_NR_PROCESSORS WITH_SMP +#else +#define MAX_NR_PROCESSORS 1 +#endif + +#endif + + + +/* Word size of host/target: + + Set these according to your host and target requirements. At this + point in time, I've only compiled (not run) for a 64bit and never + built for a 64bit host. This will always remain a compile time + option */ + +#ifndef WITH_TARGET_WORD_BITSIZE +#define WITH_TARGET_WORD_BITSIZE 32 /* compiled only */ +#endif + +#ifndef WITH_HOST_WORD_BITSIZE +#define WITH_HOST_WORD_BITSIZE 32 /* 64bit ready? */ +#endif + + + +/* Program environment: + + Three environments are available - UEA (user), VEA (virtual) and + OEA (perating). The former two are environment that users would + expect to see (VEA includes things like coherency and the time + base) while OEA is what an operating system expects to see. By + setting these to specific values, the build process is able to + eliminate non relevent environment code + + CURRENT_ENVIRONMENT specifies which of vea or oea is required for + the current runtime. */ + +#if defined (WITH_ENVIRONMENT) + +#define USER_ENVIRONMENT 1 +#define VIRTUAL_ENVIRONMENT 2 +#define OPERATING_ENVIRONMENT 3 + +extern int current_environment; +#define CURRENT_ENVIRONMENT (WITH_ENVIRONMENT \ + ? WITH_ENVIRONMENT \ + : current_environment) + +#endif + + + +/* Callback/Default Memory. + + Core includes a builtin memory type (raw_memory) that is + implemented using an array. raw_memory does not require any + additional functions etc. + + Callback memory is where the core calls a core device for the data + it requires. + + Default memory is an extenstion of this where for addresses that do + not map into either a callback or core memory range a default map + can be used. + + The OEA model uses callback memory for devices and default memory + for buses. + + The VEA model uses callback memory to capture `page faults'. + + While it may be possible to eliminate callback/default memory (and + hence also eliminate an additional test per memory fetch) it + probably is not worth the effort. + + BTW, while raw_memory could have been implemented as a callback, + profiling has shown that there is a biger win (at least for the + x86) in eliminating a function call for the most common + (raw_memory) case. */ + +#ifndef WITH_CALLBACK_MEMORY +#define WITH_CALLBACK_MEMORY 1 +#endif + + + +/* Alignment: + + The PowerPC may or may not handle miss aligned transfers. An + implementation normally handles miss aligned transfers in big + endian mode but generates an exception in little endian mode. + + This model. Instead allows both little and big endian modes to + either take exceptions or handle miss aligned transfers. + + If 0 is specified then for big-endian mode miss alligned accesses + are permitted (NONSTRICT_ALIGNMENT) while in little-endian mode the + processor will fault on them (STRICT_ALIGNMENT). */ + +#if defined (WITH_ALIGNMENT) + +#define NONSTRICT_ALIGNMENT 1 +#define STRICT_ALIGNMENT 2 + +extern int current_alignment; +#define CURRENT_ALIGNMENT (WITH_ALIGNMENT \ + ? WITH_ALIGNMENT \ + : current_alignment) + +#endif + + + +/* Floating point suport: + + Should the processor trap for all floating point instructions (as + if the hardware wasn't implemented) or implement the floating point + instructions directly. */ + +#if defined (WITH_FLOATING_POINT) + +#define SOFT_FLOATING_POINT 1 +#define HARD_FLOATING_POINT 2 + +extern int current_floating_point; +#define CURRENT_FLOATING_POINT (WITH_FLOATING_POINT \ + ? WITH_FLOATING_POINT \ + : current_floating_point) + +#endif + + + +/* Debugging: + + Control the inclusion of debugging code. */ + +/* Include the tracing code. Disabling this eliminates all tracing + code */ + +#ifndef WITH_TRACE +#define WITH_TRACE 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 */ + + + +/* include monitoring code */ + +#define MONITOR_INSTRUCTION_ISSUE 1 +#define MONITOR_LOAD_STORE_UNIT 2 +/* do not define WITH_MON by default */ +#define DEFAULT_WITH_MON (MONITOR_LOAD_STORE_UNIT \ + | MONITOR_INSTRUCTION_ISSUE) + + +/* Current CPU model (models are in the generated models.h include file) */ +#ifndef WITH_MODEL +#define WITH_MODEL 0 +#endif + +#define CURRENT_MODEL (WITH_MODEL \ + ? WITH_MODEL \ + : current_model) + +#ifndef WITH_DEFAULT_MODEL +#define WITH_DEFAULT_MODEL DEFAULT_MODEL +#endif + +#define MODEL_ISSUE_IGNORE (-1) +#define MODEL_ISSUE_PROCESS 1 + +#ifndef WITH_MODEL_ISSUE +#define WITH_MODEL_ISSUE 0 +#endif + +extern int current_model_issue; +#define CURRENT_MODEL_ISSUE (WITH_MODEL_ISSUE \ + ? WITH_MODEL_ISSUE \ + : current_model_issue) + + + +/* Whether or not input/output just uses stdio, or uses printf_filtered for + output, and polling input for input. */ + +#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 \ + : current_stdio) + + + +/* Specify that configured calls pass parameters in registers when the + convention is that they are placed on the stack */ + +#ifndef WITH_REGPARM +#define WITH_REGPARM 0 +#endif + +/* Specify that configured calls use an alternative calling mechanism */ + +#ifndef WITH_STDCALL +#define WITH_STDCALL 0 +#endif + + +/* complete/verify/print the simulator configuration */ + + +/* For prefered_target_byte_order arugment */ + +#if defined (bfd_little_endian) +#define PREFERED_TARGET_BYTE_ORDER(IMAGE) ((IMAGE) == NULL \ + ? 0 \ + : bfd_little_endian(IMAGE) \ + ? LITTLE_ENDIAN \ + : BIG_ENDIAN) +#else +#define PREFERED_TARGET_BYTE_ORDER(IMAGE) ((IMAGE) == NULL \ + ? 0 \ + : !(IMAGE)->xvec->byteorder_big_p \ + ? LITTLE_ENDIAN \ + : BIG_ENDIAN) +#endif + + +extern void sim_config (SIM_DESC sd, + int prefered_target_byte_order); + +extern void print_sim_config (SIM_DESC sd); + + +#endif /* _PSIM_CONFIG_H */ diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog index e5c2e2d0f57..67cd0bf918e 100644 --- a/sim/d10v/ChangeLog +++ b/sim/d10v/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Mar 17 15:10:07 1997 Andrew Cagney + + * configure: Re-generate. + Fri Mar 14 10:34:11 1997 Michael Meissner * configure: Regenerate to track ../common/aclocal.m4 changes. diff --git a/sim/d10v/configure b/sim/d10v/configure index 7abaa13741e..c77922efd8f 100755 --- a/sim/d10v/configure +++ b/sim/d10v/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1270,6 +1249,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g diff --git a/sim/erc32/ChangeLog b/sim/erc32/ChangeLog index 07ad8620870..ca61f4f7e7a 100644 --- a/sim/erc32/ChangeLog +++ b/sim/erc32/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Mon Mar 17 15:10:07 1997 Andrew Cagney + + * configure: Re-generate. + Thu Mar 13 12:46:04 1997 Doug Evans * interf.c (sim_open): New SIM_DESC result. Argument is now in diff --git a/sim/erc32/configure b/sim/erc32/configure index 2464322ef1f..0765582cab8 100755 --- a/sim/erc32/configure +++ b/sim/erc32/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1134,7 +1113,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltermcap $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:1125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1307,6 +1286,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g s%@TERMCAP@%$TERMCAP%g diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog index feaba37fdb0..c0d4f98646c 100644 --- a/sim/h8300/ChangeLog +++ b/sim/h8300/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Mar 19 01:14:00 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + Mon Mar 17 15:10:07 1997 Andrew Cagney * configure: Re-generate. diff --git a/sim/h8300/configure b/sim/h8300/configure index c7d3d2315ca..c2a7dc7122a 100755 --- a/sim/h8300/configure +++ b/sim/h8300/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1270,6 +1249,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index 99ccd8d5e3c..83077c8708f 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,3 +1,15 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Tue Mar 25 11:38:22 1997 Doug Evans + + * interp.c (sim_open): Set optind to 0 before calling getopt. + +Wed Mar 19 01:14:00 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + Mon Mar 17 10:52:59 1997 Gavin Koch * interp.c : Replace uses of pr_addr with pr_uword64 diff --git a/sim/mips/configure b/sim/mips/configure index bade339d05f..52e21b085e3 100755 --- a/sim/mips/configure +++ b/sim/mips/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1059,13 +1038,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1074,13 +1053,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1063: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1108,12 +1087,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1117: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1096: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1145,7 +1124,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:1140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1188,7 +1167,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:1195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1379,6 +1358,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@SIMCONF@%$SIMCONF%g s%@CPP@%$CPP%g diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog index 00a2a040f03..1484f491925 100644 --- a/sim/mn10300/ChangeLog +++ b/sim/mn10300/ChangeLog @@ -1,3 +1,21 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Thu Mar 20 11:58:02 1997 Jeffrey A Law (law@cygnus.com) + + * simops.c: Fix register extraction for a two "movbu" variants. + Somewhat simplify "sub" instructions. + Correctly sign extend operands for "mul". Put the correct + half of the result in MDR for "mul" and "mulu". + Implement remaining instructions. + Tweak opcode for "syscall". + +Tue Mar 18 14:21:21 1997 Jeffrey A Law (law@cygnus.com) + + * simops.c: Do syscall emulation in "syscall" instruction. Add + dummy "trap" instruction. + Wed Mar 19 01:14:00 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. diff --git a/sim/mn10300/configure b/sim/mn10300/configure index 7abaa13741e..c77922efd8f 100755 --- a/sim/mn10300/configure +++ b/sim/mn10300/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1270,6 +1249,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog index 3f8bc1098b8..2f3712413a0 100644 --- a/sim/sh/ChangeLog +++ b/sim/sh/ChangeLog @@ -1,3 +1,15 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Mar 19 09:34:36 1997 Fred Fish + + * interp.c (sim_do_command): Check for NULL command or empty + string and handle it the same as a "help" command. Use callback + to print error message for unrecognized commands. Replace + hardcoded tab in literal string with a \t. Other minor code + cleanup. + Wed Mar 19 01:14:00 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. diff --git a/sim/sh/configure b/sim/sh/configure index 7abaa13741e..c77922efd8f 100755 --- a/sim/sh/configure +++ b/sim/sh/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1270,6 +1249,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog index 0b3779afb84..4b3ddf4402d 100644 --- a/sim/v850/ChangeLog +++ b/sim/v850/ChangeLog @@ -1,3 +1,11 @@ +Wed Apr 2 14:34:19 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + +Wed Mar 19 01:14:00 1997 Andrew Cagney + + * configure: Regenerated to track ../common/aclocal.m4 changes. + Mon Mar 17 15:10:07 1997 Andrew Cagney * configure: Re-generate. diff --git a/sim/v850/configure b/sim/v850/configure index 7abaa13741e..c77922efd8f 100755 --- a/sim/v850/configure +++ b/sim/v850/configure @@ -17,6 +17,8 @@ ac_help="$ac_help --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" ac_help="$ac_help --enable-sim-debug=opts Enable debugging flags" +ac_help="$ac_help + --enable-sim-stdio Specify whether to use stdio for console input/output." ac_help="$ac_help --enable-sim-trace=opts Enable tracing flags" @@ -735,7 +737,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:739: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:741: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -842,11 +844,11 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } +{ (eval echo configure:852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } if test -s conftest && (./conftest; exit) 2>/dev/null; then ac_cv_c_cross=no else @@ -903,11 +905,6 @@ fi - - - - - # Check whether --enable-sim-bswap or --disable-sim-bswap was given. if test "${enable_sim_bswap+set}" = set; then enableval="$enable_sim_bswap" @@ -960,33 +957,20 @@ fi - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Check whether --enable-sim-stdio or --disable-sim-stdio was given. +if test "${enable_sim_stdio+set}" = set; then + enableval="$enable_sim_stdio" + case "${enableval}" in + yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; + no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; + *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; +esac +if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then + echo "Setting stdio flags = $sim_stdio" 6>&1 +fi +else + sim_stdio="" +fi @@ -1007,11 +991,6 @@ fi - - - - - sim_link_files= sim_link_links= @@ -1047,13 +1026,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1057: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1062,13 +1041,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1072: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1096,12 +1075,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1270,6 +1249,7 @@ s%@RANLIB@%$RANLIB%g s%@sim_bswap@%$sim_bswap%g s%@sim_cflags@%$sim_cflags%g s%@sim_debug@%$sim_debug%g +s%@sim_stdio@%$sim_stdio%g s%@sim_trace@%$sim_trace%g s%@CPP@%$CPP%g -- 2.30.2