New file common/sim-config.c sets/checks simulator configuration options.
authorAndrew Cagney <cagney@redhat.com>
Wed, 2 Apr 1997 05:04:25 +0000 (05:04 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 2 Apr 1997 05:04:25 +0000 (05:04 +0000)
Update common/aclocal.m4 to better work with sim-config.[hc].

22 files changed:
sim/arm/ChangeLog
sim/arm/configure
sim/common/ChangeLog
sim/common/Make-common.in
sim/common/aclocal.m4
sim/common/configure
sim/common/sim-config.c [new file with mode: 0644]
sim/common/sim-config.h [new file with mode: 0644]
sim/d10v/ChangeLog
sim/d10v/configure
sim/erc32/ChangeLog
sim/erc32/configure
sim/h8300/ChangeLog
sim/h8300/configure
sim/mips/ChangeLog
sim/mips/configure
sim/mn10300/ChangeLog
sim/mn10300/configure
sim/sh/ChangeLog
sim/sh/configure
sim/v850/ChangeLog
sim/v850/configure

index 82f1562..2eb7386 100644 (file)
@@ -1,3 +1,11 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
 
        * configure: Re-generate.
index 7abaa13..c77922e 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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
 
index 9039055..08f638c 100644 (file)
@@ -1,3 +1,41 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Wed Apr  2 11:08:11 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * 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  <meissner@cygnus.com>
+
+       * 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  <cagney@kremvax.cygnus.com>
+
+       * 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.
index 5588b8c..892d859 100644 (file)
@@ -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
index 64480a8..998c561 100644 (file)
@@ -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.
index f6d2a94..12b10ec 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 847 "configure"
+#line 849 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:851: \"$ac_link\") 1>&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 <<EOF
-#line 1081 "configure"
+#line 1060 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1096 "configure"
+#line 1075 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1130 "configure"
+#line 1109 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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 (file)
index 0000000..c6ee907
--- /dev/null
@@ -0,0 +1,317 @@
+/*  This file is part of the GNU simulators.
+
+    Copyright (C) 1994-1995,1997, Andrew Cagney <cagney@highland.com.au>
+
+    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*)(&current_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 (file)
index 0000000..c7e72b6
--- /dev/null
@@ -0,0 +1,339 @@
+/*  This file is part of the program psim.
+
+    Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>
+
+    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@<nr-cpu> */
+
+#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 */
index e5c2e2d..67cd0bf 100644 (file)
@@ -1,3 +1,11 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * configure: Re-generate.
+
 Fri Mar 14 10:34:11 1997  Michael Meissner  <meissner@cygnus.com>
 
        * configure: Regenerate to track ../common/aclocal.m4 changes.
index 7abaa13..c77922e 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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
 
index 07ad862..ca61f4f 100644 (file)
@@ -1,3 +1,11 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * configure: Re-generate.
+
 Thu Mar 13 12:46:04 1997  Doug Evans  <dje@canuck.cygnus.com>
 
        * interf.c (sim_open): New SIM_DESC result.  Argument is now in
index 2464322..0765582 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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 <<EOF
-#line 1138 "configure"
+#line 1117 "configure"
 #include "confdefs.h"
 
 int main() { return 0; }
@@ -1142,7 +1121,7 @@ int t() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:1146: \"$ac_link\") 1>&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
index feaba37..c0d4f98 100644 (file)
@@ -1,3 +1,11 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
 
        * configure: Re-generate.
index c7d3d23..c2a7dc7 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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
 
index 99ccd8d..83077c8 100644 (file)
@@ -1,3 +1,15 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Tue Mar 25 11:38:22 1997  Doug Evans  <dje@canuck.cygnus.com>
+
+       * interp.c (sim_open): Set optind to 0 before calling getopt.
+
+Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
 Mon Mar 17 10:52:59 1997  Gavin Koch  <gavin@cetus.cygnus.com>
 
        * interp.c : Replace uses of pr_addr with pr_uword64
index bade339..52e21b0 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1063 "configure"
+#line 1042 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1078 "configure"
+#line 1057 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1112 "configure"
+#line 1091 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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 <<EOF
-#line 1149 "configure"
+#line 1128 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1157,7 +1136,7 @@ int t() {
 fabs()
 ; return 0; }
 EOF
-if { (eval echo configure:1161: \"$ac_link\") 1>&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 <<EOF
-#line 1192 "configure"
+#line 1171 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1212,7 +1191,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1216: \"$ac_link\") 1>&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
index 00a2a04..1484f49 100644 (file)
@@ -1,3 +1,21 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * 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  <cagney@kremvax.cygnus.com>
 
        * configure: Regenerated to track ../common/aclocal.m4 changes.
index 7abaa13..c77922e 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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
 
index 3f8bc10..2f37124 100644 (file)
@@ -1,3 +1,15 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Wed Mar 19 09:34:36 1997  Fred Fish  <fnf@cygnus.com>
+
+       * 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  <cagney@kremvax.cygnus.com>
 
        * configure: Regenerated to track ../common/aclocal.m4 changes.
index 7abaa13..c77922e 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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
 
index 0b3779a..4b3ddf4 100644 (file)
@@ -1,3 +1,11 @@
+Wed Apr  2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+Wed Mar 19 01:14:00 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+
 Mon Mar 17 15:10:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
 
        * configure: Re-generate.
index 7abaa13..c77922e 100755 (executable)
@@ -18,6 +18,8 @@ ac_help="$ac_help
 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"
 
 # Initialize some variables set by options.
@@ -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 <<EOF
-#line 846 "configure"
+#line 848 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-{ (eval echo configure:850: \"$ac_link\") 1>&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 <<EOF
-#line 1051 "configure"
+#line 1030 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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 <<EOF
-#line 1066 "configure"
+#line 1045 "configure"
 #include "confdefs.h"
 #include <assert.h>
 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
-#line 1100 "configure"
+#line 1079 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 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