diff options
author | Michael Meissner <gnu@the-meissners.org> | 1995-11-09 19:50:51 +0000 |
---|---|---|
committer | Michael Meissner <gnu@the-meissners.org> | 1995-11-09 19:50:51 +0000 |
commit | ba62bb1c7408ed5f014c21f3d9fa70d2424fea08 (patch) | |
tree | 04fbb0278b7069a7e21e1e8601156c16d9d552dd | |
parent | 4a378b13e498c735d6f51c546466d4d6a06da74c (diff) | |
download | gdb-ba62bb1c7408ed5f014c21f3d9fa70d2424fea08.zip gdb-ba62bb1c7408ed5f014c21f3d9fa70d2424fea08.tar.gz gdb-ba62bb1c7408ed5f014c21f3d9fa70d2424fea08.tar.bz2 |
Turn on INLINES if using GCC to compile simulator; Print more stuff if requests -t trace; If !WITH_ASSERT, do not check whether illegal bits in instruction are set
-rw-r--r-- | sim/ppc/ChangeLog | 28 | ||||
-rw-r--r-- | sim/ppc/Makefile.in | 21 | ||||
-rwxr-xr-x | sim/ppc/configure | 106 | ||||
-rw-r--r-- | sim/ppc/configure.in | 130 | ||||
-rw-r--r-- | sim/ppc/igen.c | 2 | ||||
-rw-r--r-- | sim/ppc/options.c | 20 |
6 files changed, 255 insertions, 52 deletions
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog index cbfa812..d056fa2 100644 --- a/sim/ppc/ChangeLog +++ b/sim/ppc/ChangeLog @@ -1,3 +1,31 @@ +Thu Nov 9 12:22:15 1995 Michael Meissner <meissner@tiktok.cygnus.com> + + * configure.in (--enable-sim-alignment): Fix typo in specifing non + string alignment. + (--enable-sim-switch): Make default on. + (--enable-sim-duplicate): Make default on. + (--enable-sim-smp): Make default 0. + (--enable-sim-mon): Don't set sim_float if not set. + (--enable-sim-inline): If gcc is found and --enable-sim-inline is + not specified, define DEFAULT_INLINE to be 2. + (all --enable-sim-* rules): Echo rules set to non empty to file + descriptor 6. + * configure: Regenerate. + + * options.c (options_env): Fix typo if WITH_ENV is 0. + (print_options): Print GCC compiler version if available and + date/time options was compiled. If OPCODE_RULES, IGEN_FLAGS, + and/or DGEN_FLAGS are defined, print them. + + * Makefile.in (all link actions): Pass SIM_CFLAGS as well as + CFLAGS. + (options.o): Compile options.o with OPCODE_RULES, IGEN_FLAGS, and + DGEN_FLAGS defined, so they can be printed out. + + * igen.c (lf_print_c_validate): Check for WITH_ASSERT, so that + this test can be compiled away if the user really wants a fast + simulator by not doing assertion failures. + Wed Nov 8 13:19:47 1995 Michael Meissner <meissner@tiktok.cygnus.com> * options.c: New file to print out all of the WITH_ options. diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in index 4bf46ce..ed3ef3f 100644 --- a/sim/ppc/Makefile.in +++ b/sim/ppc/Makefile.in @@ -100,6 +100,9 @@ CONFIG_CFLAGS = $(BSWAP_CFLAGS) \ $(FUNC_CFLAGS) \ $(MODEL_CFLAGS) +STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) +NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) + CONFIG_FILE = @sim_config@ IGEN_OPCODE_RULES = @sim_opcode@ IGEN_DUPLICATE = @sim_dup@ @@ -127,7 +130,7 @@ TARGETLIB = libsim.a all: run $(TARGETLIB) $(GDB_OBJ) .c.o: - $(CC) -c $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $< + $(CC) -c $(STD_CFLAGS) $< @@ -254,7 +257,7 @@ GDB_OBJ = sim_calls.o psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) - $(CC) $(CFLAGS) $(LDFLAGS) -o psim main.o $(TARGETLIB) $(BFD_LIB) $(LIBIBERTY_LIB) $(LIBS) + $(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim main.o $(TARGETLIB) $(BFD_LIB) $(LIBIBERTY_LIB) $(LIBS) run: psim rm -f run @@ -268,7 +271,7 @@ $(TARGETLIB): tmp-igen tmp-dgen $(LIB_OBJ) $(GDB_OBJ) # Given that inlines are turned on now, rebuild psim whenever # anything changes. psim.o: psim.c psim.h $(CPU_H) $(IDECODE_H) $(INLINE) $(LIB_SRC) $(BUILT_SRC) - $(CC) -c $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $< + $(CC) -c $(NOWARN_CFLAGS) $< bits.o: bits.c $(BASICS_H) @@ -288,7 +291,7 @@ cpu.o: cpu.c $(CPU_H) $(IDECODE_H) interrupts.o: interrupts.c $(CPU_H) $(IDECODE_H) os_emul.h idecode.o: idecode.c $(CPU_H) $(IDECODE_H) semantics.h - $(CC) -c $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $< + $(CC) -c $(NOWARN_CFLAGS) $< # double.o: double.c dp-bit.c @@ -313,13 +316,15 @@ devices.o: devices.c devices.h $(BASICS_H) \ device_tree.o: device_tree.c device_tree.h devices.h $(BASICS_H) semantics.o: semantics.c semantics.h $(CPU_H) $(IDECODE_H) - $(CC) -c $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $< + $(CC) -c $(NOWARN_CFLAGS) $< itable.o: itable.c itable.h mon.o: mon.c $(CPU_H) -options.o: options.c $(BASICS_H) +# Rebuild options whenever something changes so the date/time is up to date. +options.o: options.c $(BASICS_H) $(CPU_H) $(IDECODE_H) $(INLINE) $(LIB_SRC) $(BUILT_SRC) config.status Makefile + $(CC) -c $(STD_CFLAGS) '-DOPCODE_RULES="@sim_opcode@"' '-DIGEN_FLAGS="$(IGEN_FLAGS)"' '-DDGEN_FLAGS="$(DGEN_FLAGS)"' $< # # Rules to create the built c source code files @@ -368,10 +373,10 @@ itable.h itable.c icache.h idecode.h idecode.c semantics.h semantics.c: tmp-igen spreg.h spreg.c: tmp-dgen dgen: dgen.o table.o lf.o misc.o filter_filename.o - $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o dgen dgen.o table.o lf.o misc.o filter_filename.o $(LIBIBERTY_LIB) $(LIBS) + $(CC_FOR_BUILD) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o dgen dgen.o table.o lf.o misc.o filter_filename.o $(LIBIBERTY_LIB) $(LIBS) igen: igen.o table.o lf.o misc.o filter_filename.o - $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o igen igen.o table.o lf.o misc.o filter_filename.o $(LIBIBERTY_LIB) $(LIBS) + $(CC_FOR_BUILD) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o igen igen.o table.o lf.o misc.o filter_filename.o $(LIBIBERTY_LIB) $(LIBS) table.o: misc.h filter_filename.h lf.h table.h lf.o: misc.h filter_filename.h lf.h diff --git a/sim/ppc/configure b/sim/ppc/configure index 28c40ec..b607645 100755 --- a/sim/ppc/configure +++ b/sim/ppc/configure @@ -457,6 +457,9 @@ if test -n "$enableval"; then no) sim_cflags="";; *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;; esac +if test x"$sim_cflags" != x""; then + echo "Setting sim cflags = $sim_cflags" 6>&1 +fi else sim_cflags="" fi @@ -469,6 +472,9 @@ if test -n "$enableval"; then no) sim_warnings="-w";; *) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; esac +if test x"$sim_warnings" != x""; then + echo "Setting warning flags = $sim_warnings" 6>&1 +fi else sim_warnings="" fi @@ -481,8 +487,11 @@ if test -n "$enableval"; then no) sim_config="std-config.h";; *) sim_config="${enableval}";; esac +if test x"$sim_config" != x""; then + echo "Setting config flags = $sim_config" 6>&1 +fi else - sim_config="std-config.h" + sim_config="std-config.h"; echo "Setting config flags = $sim_config" 6>&1 fi # Check whether --enable-sim-opcode or --disable-sim-opcode was given. @@ -493,8 +502,11 @@ if test -n "$enableval"; then no) sim_opcode="ppc-opcode-simple";; *) sim_opcode="ppc-opcode-${enableval}";; esac +if test x"$sim_opcode" != x""; then + echo "Setting opcode flags = $sim_opcode" 6>&1 +fi else - sim_opcode="ppc-opcode-simple" + sim_opcode="ppc-opcode-simple"; echo "Setting opcode flags = $sim_opcode" fi # Check whether --enable-sim-switch or --disable-sim-switch was given. @@ -504,8 +516,11 @@ if test -n "$enableval"; then yes) sim_switch="-s";; *) sim_switch="";; esac +if test x"$sim_switch" != x""; then + echo "Setting switch flags = $sim_switch" 6>&1 +fi else - sim_switch="" + sim_switch="-s"; echo "Setting switch flags = $sim_switch" 6>&1 fi # Check whether --enable-sim-duplicate or --disable-sim-duplicate was given. @@ -515,8 +530,11 @@ if test -n "$enableval"; then yes) sim_dup="-e";; *) sim_dup="";; esac +if test x"$sim_dup" != x""; then + echo "Setting duplicate flags = $sim_dup" 6>&1 +fi else - sim_dup="" + sim_dup="-e"; echo "Setting duplicate flags = $sim_dup" 6>&1 fi # Check whether --enable-sim-filter or --disable-sim-filter was given. @@ -526,8 +544,11 @@ if test -n "$enableval"; then yes) sim_filter="";; *) sim_filter="-f $enableval";; esac +if test x"$sim_filter" != x""; then + echo "Setting filter flags = $sim_filter" 6>&1 +fi else - sim_filter="-f 64" + sim_filter="-f 64"; echo "Setting filter flags = $sim_filter" 6>&1 fi # Check whether --enable-sim-icache or --disable-sim-icache was given. @@ -565,9 +586,16 @@ case "$enableval" in fi done;; esac +if test x"$sim_inline" != x""; then + echo "Setting inline flags = $sim_inline" 6>&1 +fi +else + if test x"$GCC" != ""; then + sim_inline="-DDEFAULT_INLINE=2"; echo "Setting inline flags = $sim_inline" 6>&1 else sim_inline="" fi +fi # Check whether --enable-sim-bswap or --disable-sim-bswap was given. enableval="$enable_sim_bswap" @@ -577,6 +605,9 @@ if test -n "$enableval"; then no) sim_bswap="-DWITH_BSWAP=0";; *) sim_bswap="";; esac +if test x"$sim_bswap" != x""; then + echo "Setting bswap flags = $sim_bswap" 6>&1 +fi else sim_bswap="" fi @@ -595,6 +626,9 @@ if test -n "$enableval"; then l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";; *) sim_endian="";; esac +if test x"$sim_endian" != x""; then + echo "Setting endian flags = $sim_endian" 6>&1 +fi else sim_endian="" fi @@ -608,6 +642,9 @@ if test -n "$enableval"; then l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";; *) sim_hostendian="";; esac +if test x"$sim_hostendian" != x""; then + echo "Setting hostendian flags = $sim_hostendian" 6>&1 +fi else sim_hostendian="" fi @@ -620,8 +657,11 @@ if test -n "$enableval"; then no) sim_smp="-DWITH_SMP=0";; *) sim_smp="-DWITH_SMP=$enableval";; esac +if test x"$sim_smp" != x""; then + echo "Setting smp flags = $sim_smp" 6>&1 +fi else - sim_smp="" + sim_smp="-DWITH_SMP=0"; echo "Setting smp flags = $sim_smp" 6>&1 fi # Check whether --enable-sim-bitsize or --disable-sim-bitsize was given. @@ -632,6 +672,9 @@ if test -n "$enableval"; then no) sim_bitsize="";; *) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";; esac +if test x"$sim_bitsize" != x""; then + echo "Setting bitsize flags = $sim_bitsize" 6>&1 +fi else sim_bitsize="" fi @@ -644,6 +687,9 @@ if test -n "$enableval"; then no) sim_hostbitsize="";; *) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";; esac +if test x"$sim_hostbitsize" != x""; then + echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1 +fi else sim_hostbitsize="" fi @@ -657,6 +703,9 @@ if test -n "$enableval"; then user | uea) sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";; *) sim_env="";; esac +if test x"$sim_env" != x""; then + echo "Setting env flags = $sim_env" 6>&1 +fi else sim_env="" fi @@ -669,6 +718,9 @@ if test -n "$enableval"; then no) sim_timebase="-DWITH_TIME_BASE=0";; *) sim_timebase="";; esac +if test x"$sim_timebase" != x""; then + echo "Setting timebase flags = $sim_timebase" 6>&1 +fi else sim_timebase="" fi @@ -678,9 +730,12 @@ enableval="$enable_sim_alignment" if test -n "$enableval"; then case "${enableval}" in yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";; - no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NOSTRICT_ALIGNMENT";; + no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";; *) sim_alignment="-DWITH_ALIGNMENT=$enableval";; esac +if test x"$sim_alignment" != x""; then + echo "Setting alignment flags = $sim_alignment" 6>&1 +fi else sim_alignment="" fi @@ -693,6 +748,9 @@ if test -n "$enableval"; then no) sim_trace="-DWITH_TRACE=0";; *) sim_trace="";; esac +if test x"$sim_trace" != x""; then + echo "Setting trace flags = $sim_trace" 6>&1 +fi else sim_trace="" fi @@ -705,6 +763,9 @@ if test -n "$enableval"; then no) sim_assert="-DWITH_ASSERT=0";; *) sim_assert="";; esac +if test x"$sim_assert" != x""; then + echo "Setting assert flags = $sim_assert" 6>&1 +fi else sim_assert="" fi @@ -717,6 +778,9 @@ if test -n "$enableval"; then no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";; *) sim_float="";; esac +if test x"$sim_float" != x""; then + echo "Setting float flags = $sim_float" 6>&1 +fi else sim_float="" fi @@ -731,8 +795,11 @@ if test -n "$enableval"; then memory) sim_mon="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";; *) sim_mon="-DWITH_MON='$enableval'";; esac +if test x"$sim_mon" != x""; then + echo "Setting monitor flags = $sim_mon" 6>&1 +fi else - sim_float="" + sim_mon="" fi # Check whether --enable-sim-function-unit or --disable-sim-function-unit was given. @@ -743,6 +810,9 @@ if test -n "$enableval"; then no) sim_func="-DWITH_FUNCTION_UNIT=0";; *) sim_func="";; esac +if test x"$sim_func" != x""; then + echo "Setting function-unit flags = $sim_func" 6>&1 +fi else sim_func="" fi @@ -755,6 +825,9 @@ if test -n "$enableval"; then no) sim_model="";; *) sim_model="-DWITH_PPC_MODEL=${enableval}";; esac +if test x"$sim_model" != x""; then + echo "Setting model flags = $sim_model" 6>&1 +fi else sim_model="" fi @@ -767,12 +840,13 @@ if test -n "$enableval"; then no) sim_default_model="";; *) sim_default_model="-DWITH_DEFAULT_PPC_MODEL=${enableval}";; esac +if test x"$sim_default_model" != x""; then + echo "Setting default-model flags = $sim_default_model" 6>&1 +fi else sim_model="" fi - - ac_aux_dir= for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do if test -f $ac_dir/install-sh; then @@ -898,6 +972,8 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x," . ${srcdir}/../../bfd/configure.host + + # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 @@ -1036,7 +1112,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 1040 "configure" +#line 1116 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -1091,7 +1167,7 @@ else ac_cv_c_cross=yes else cat > conftest.$ac_ext <<EOF -#line 1095 "configure" +#line 1171 "configure" #include "confdefs.h" main(){return(0);} EOF @@ -1129,7 +1205,7 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1133 "configure" +#line 1209 "configure" #include "confdefs.h" #include <assert.h> Syntax Error @@ -1143,7 +1219,7 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1147 "configure" +#line 1223 "configure" #include "confdefs.h" #include <assert.h> Syntax Error @@ -1176,7 +1252,7 @@ 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 1180 "configure" +#line 1256 "configure" #include "confdefs.h" #include <$ac_hdr> EOF diff --git a/sim/ppc/configure.in b/sim/ppc/configure.in index 9c195a7..7667b6b 100644 --- a/sim/ppc/configure.in +++ b/sim/ppc/configure.in @@ -8,7 +8,10 @@ AC_ARG_ENABLE(sim-cflags, yes) sim_cflags="-O2 -fomit-frame-pointer";; no) sim_cflags="";; *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac],[sim_cflags=""])dnl +esac +if test x"$sim_cflags" != x""; then + echo "Setting sim cflags = $sim_cflags" 6>&1 +fi],[sim_cflags=""])dnl AC_ARG_ENABLE(sim-warnings, [ --enable-sim-warnings=opts Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o], @@ -16,7 +19,10 @@ AC_ARG_ENABLE(sim-warnings, yes) sim_warnings="-Wall -Wpointer-arith -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations";; no) sim_warnings="-w";; *) sim_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac],[sim_warnings=""])dnl +esac +if test x"$sim_warnings" != x""; then + echo "Setting warning flags = $sim_warnings" 6>&1 +fi],[sim_warnings=""])dnl AC_ARG_ENABLE(sim-config, [ --enable-sim-config=file Override default config file], @@ -24,7 +30,10 @@ AC_ARG_ENABLE(sim-config, yes) sim_config="std-config.h";; no) sim_config="std-config.h";; *) sim_config="${enableval}";; -esac],[sim_config="std-config.h]")dnl +esac +if test x"$sim_config" != x""; then + echo "Setting config flags = $sim_config" 6>&1 +fi],[sim_config="std-config.h"; echo "Setting config flags = $sim_config" 6>&1])dnl AC_ARG_ENABLE(sim-opcode, [ --enable-sim-opcode=which Override default opcode lookup.], @@ -32,28 +41,40 @@ AC_ARG_ENABLE(sim-opcode, yes) sim_opcode="ppc-opcode-simple";; no) sim_opcode="ppc-opcode-simple";; *) sim_opcode="ppc-opcode-${enableval}";; -esac],[sim_opcode="ppc-opcode-simple"])dnl +esac +if test x"$sim_opcode" != x""; then + echo "Setting opcode flags = $sim_opcode" 6>&1 +fi],[sim_opcode="ppc-opcode-simple"; echo "Setting opcode flags = $sim_opcode"])dnl AC_ARG_ENABLE(sim-switch, [ --enable-sim-switch Use a switch instead of a table for instruction call.], [case "${enableval}" in yes) sim_switch="-s";; *) sim_switch="";; -esac],[sim_switch=""])dnl +esac +if test x"$sim_switch" != x""; then + echo "Setting switch flags = $sim_switch" 6>&1 +fi],[sim_switch="-s"; echo "Setting switch flags = $sim_switch" 6>&1])dnl AC_ARG_ENABLE(sim-duplicate, [ --enable-sim-duplicate Expand (duplicate) semantic functions.], [case "${enableval}" in yes) sim_dup="-e";; *) sim_dup="";; -esac],[sim_dup=""])dnl +esac +if test x"$sim_dup" != x""; then + echo "Setting duplicate flags = $sim_dup" 6>&1 +fi],[sim_dup="-e"; echo "Setting duplicate flags = $sim_dup" 6>&1])dnl AC_ARG_ENABLE(sim-filter, [ --enable-sim-filter=rule Specify filter rules.], [case "${enableval}" in yes) sim_filter="";; *) sim_filter="-f $enableval";; -esac],[sim_filter="-f 64"])dnl +esac +if test x"$sim_filter" != x""; then + echo "Setting filter flags = $sim_filter" 6>&1 +fi],[sim_filter="-f 64"; echo "Setting filter flags = $sim_filter" 6>&1])dnl AC_ARG_ENABLE(sim-icache, [ --enable-sim-icache=size Specify instruction cache size.], @@ -84,7 +105,14 @@ case "$enableval" in sim_inline="$flags $new_flag" fi done;; -esac],[sim_inline=""])dnl +esac +if test x"$sim_inline" != x""; then + echo "Setting inline flags = $sim_inline" 6>&1 +fi],[if test x"$GCC" != ""; then + sim_inline="-DDEFAULT_INLINE=2"; echo "Setting inline flags = $sim_inline" 6>&1 +else + sim_inline="" +fi])dnl AC_ARG_ENABLE(sim-bswap, [ --enable-sim-bswap Use the BSWAP instruction on Intel 486s and Pentiums.], @@ -92,7 +120,10 @@ AC_ARG_ENABLE(sim-bswap, yes) sim_bswap="-DWITH_BSWAP=1";; no) sim_bswap="-DWITH_BSWAP=0";; *) sim_bswap="";; -esac],[sim_bswap=""])dnl +esac +if test x"$sim_bswap" != x""; then + echo "Setting bswap flags = $sim_bswap" 6>&1 +fi],[sim_bswap=""])dnl AC_ARG_ENABLE(sim-endian, [ --enable-sim-endian=endian Specify target byte endian orientation.], @@ -106,7 +137,10 @@ AC_ARG_ENABLE(sim-endian, b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";; l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";; *) sim_endian="";; -esac],[sim_endian=""])dnl +esac +if test x"$sim_endian" != x""; then + echo "Setting endian flags = $sim_endian" 6>&1 +fi],[sim_endian=""])dnl AC_ARG_ENABLE(sim-hostendian, [ --enable-sim-hostendain=end Specify host byte endian orientation.], @@ -115,7 +149,10 @@ AC_ARG_ENABLE(sim-hostendian, b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";; l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";; *) sim_hostendian="";; -esac],[sim_hostendian=""])dnl +esac +if test x"$sim_hostendian" != x""; then + echo "Setting hostendian flags = $sim_hostendian" 6>&1 +fi],[sim_hostendian=""])dnl AC_ARG_ENABLE(sim-smp, [ --enable-sim-smp=n Specify number of processors to configure for.], @@ -123,7 +160,10 @@ AC_ARG_ENABLE(sim-smp, yes) sim_smp="-DWITH_SMP=2";; no) sim_smp="-DWITH_SMP=0";; *) sim_smp="-DWITH_SMP=$enableval";; -esac],[sim_smp=""])dnl +esac +if test x"$sim_smp" != x""; then + echo "Setting smp flags = $sim_smp" 6>&1 +fi],[sim_smp="-DWITH_SMP=0"; echo "Setting smp flags = $sim_smp" 6>&1])dnl AC_ARG_ENABLE(sim-bitsize, [ --enable-sim-bitsize=n Specify target bitsize (32 or 64).], @@ -131,7 +171,10 @@ AC_ARG_ENABLE(sim-bitsize, yes) sim_bitsize="";; no) sim_bitsize="";; *) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";; -esac],[sim_bitsize=""])dnl +esac +if test x"$sim_bitsize" != x""; then + echo "Setting bitsize flags = $sim_bitsize" 6>&1 +fi],[sim_bitsize=""])dnl AC_ARG_ENABLE(sim-hostbitsize, [ --enable-sim-hostbitsize=n Specify host bitsize (32 or 64).], @@ -139,7 +182,10 @@ AC_ARG_ENABLE(sim-hostbitsize, yes) sim_hostbitsize="";; no) sim_hostbitsize="";; *) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";; -esac],[sim_hostbitsize=""])dnl +esac +if test x"$sim_hostbitsize" != x""; then + echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1 +fi],[sim_hostbitsize=""])dnl AC_ARG_ENABLE(sim-env, [ --enable-sim-env=env Specify target environment (operating, virtual, user).], @@ -148,7 +194,10 @@ AC_ARG_ENABLE(sim-env, virtual | vea) sim_env="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";; user | uea) sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";; *) sim_env="";; -esac],[sim_env=""])dnl +esac +if test x"$sim_env" != x""; then + echo "Setting env flags = $sim_env" 6>&1 +fi],[sim_env=""])dnl AC_ARG_ENABLE(sim-timebase, [ --enable-sim-timebase Specify whether the PPC timebase is supported.], @@ -156,15 +205,21 @@ AC_ARG_ENABLE(sim-timebase, yes) sim_timebase="-DWITH_TIME_BASE=1";; no) sim_timebase="-DWITH_TIME_BASE=0";; *) sim_timebase="";; -esac],[sim_timebase=""])dnl +esac +if test x"$sim_timebase" != x""; then + echo "Setting timebase flags = $sim_timebase" 6>&1 +fi],[sim_timebase=""])dnl 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=NOSTRICT_ALIGNMENT";; + no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";; *) sim_alignment="-DWITH_ALIGNMENT=$enableval";; -esac],[sim_alignment=""])dnl +esac +if test x"$sim_alignment" != x""; then + echo "Setting alignment flags = $sim_alignment" 6>&1 +fi],[sim_alignment=""])dnl AC_ARG_ENABLE(sim-trace, [ --enable-sim-trace Specify whether tracing is supported.], @@ -172,7 +227,10 @@ AC_ARG_ENABLE(sim-trace, yes) sim_trace="-DWITH_TRACE=1";; no) sim_trace="-DWITH_TRACE=0";; *) sim_trace="";; -esac],[sim_trace=""])dnl +esac +if test x"$sim_trace" != x""; then + echo "Setting trace flags = $sim_trace" 6>&1 +fi],[sim_trace=""])dnl AC_ARG_ENABLE(sim-assert, [ --enable-sim-assert Specify whether to perform random assertions.], @@ -180,7 +238,10 @@ AC_ARG_ENABLE(sim-assert, yes) sim_assert="-DWITH_ASSERT=1";; no) sim_assert="-DWITH_ASSERT=0";; *) sim_assert="";; -esac],[sim_assert=""])dnl +esac +if test x"$sim_assert" != x""; then + echo "Setting assert flags = $sim_assert" 6>&1 +fi],[sim_assert=""])dnl AC_ARG_ENABLE(sim-float, [ --enable-sim-float Specify whether to use host floating point or simulate.], @@ -188,7 +249,10 @@ AC_ARG_ENABLE(sim-float, yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";; no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";; *) sim_float="";; -esac],[sim_float=""])dnl +esac +if test x"$sim_float" != x""; then + echo "Setting float flags = $sim_float" 6>&1 +fi],[sim_float=""])dnl AC_ARG_ENABLE(sim-monitor, [ --enable-sim-monitor=mon Specify whether to enable monitoring events.], @@ -198,7 +262,10 @@ AC_ARG_ENABLE(sim-monitor, instruction) sim_mon="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";; memory) sim_mon="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";; *) sim_mon="-DWITH_MON='$enableval'";; -esac],[sim_float=""])dnl +esac +if test x"$sim_mon" != x""; then + echo "Setting monitor flags = $sim_mon" 6>&1 +fi],[sim_mon=""])dnl AC_ARG_ENABLE(sim-function-unit, [ --enable-sim-function-unit Specify whether detailed functional unit support is built.], @@ -206,7 +273,10 @@ AC_ARG_ENABLE(sim-function-unit, yes) sim_func="-DWITH_FUNCTION_UNIT=1";; no) sim_func="-DWITH_FUNCTION_UNIT=0";; *) sim_func="";; -esac],[sim_func=""])dnl +esac +if test x"$sim_func" != x""; then + echo "Setting function-unit flags = $sim_func" 6>&1 +fi],[sim_func=""])dnl AC_ARG_ENABLE(sim-model, [ --enable-sim-model=which Specify PowerPC to model.], @@ -214,7 +284,10 @@ AC_ARG_ENABLE(sim-model, yes) sim_model="";; no) sim_model="";; *) sim_model="-DWITH_PPC_MODEL=${enableval}";; -esac],[sim_model=""])dnl +esac +if test x"$sim_model" != x""; then + echo "Setting model flags = $sim_model" 6>&1 +fi],[sim_model=""])dnl AC_ARG_ENABLE(sim-default-model, [ --enable-sim-default-model=which Specify default PowerPC to model.], @@ -222,9 +295,10 @@ AC_ARG_ENABLE(sim-default-model, yes) sim_default_model="";; no) sim_default_model="";; *) sim_default_model="-DWITH_DEFAULT_PPC_MODEL=${enableval}";; -esac],[sim_model=""])dnl - -AC_CONFIG_HEADER(config.h:config.in) +esac +if test x"$sim_default_model" != x""; then + echo "Setting default-model flags = $sim_default_model" 6>&1 +fi],[sim_model=""])dnl AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../..) AC_CANONICAL_SYSTEM @@ -232,6 +306,8 @@ AC_ARG_PROGRAM . ${srcdir}/../../bfd/configure.host +AC_CONFIG_HEADER(config.h:config.in) + AC_PROG_CC AC_SUBST(CFLAGS) AC_SUBST(HDEFINES) diff --git a/sim/ppc/igen.c b/sim/ppc/igen.c index b017d9a..49d567e 100644 --- a/sim/ppc/igen.c +++ b/sim/ppc/igen.c @@ -1854,7 +1854,7 @@ lf_print_c_validate(lf *file, lf_printf(file, "\n"); lf_printf(file, "/* validate: %s */\n", instruction->file_entry->fields[insn_format]); - lf_printf(file, "if ((instruction & 0x%x) != 0x%x)\n", + lf_printf(file, "if (WITH_ASSERT && (instruction & 0x%x) != 0x%x)\n", check_mask, check_val); lf_indent(file, +2); lf_print_idecode_illegal(file); diff --git a/sim/ppc/options.c b/sim/ppc/options.c index ba7f91a..168a4d0 100644 --- a/sim/ppc/options.c +++ b/sim/ppc/options.c @@ -43,7 +43,7 @@ options_env (int env) case OPERATING_ENVIRONMENT: return "OPERATING"; case VIRTUAL_ENVIRONMENT: return "VIRTUAL"; case USER_ENVIRONMENT: return "USER"; - case 0: return 0; + case 0: return "0"; } return "UNKNOWN"; @@ -107,6 +107,12 @@ options_ppc (ppc_model ppc) void print_options (void) { +#if defined(_GNUC_) && defined(__VERSION__) + printf_filtered ("Compiled by GCC %s on %s %s\n", __VERSION__, __DATE__, __TIME__); +#else + printf_filtered ("Compiled on %s %s\n", __DATE__, __TIME__); +#endif + printf_filtered ("WITH_HOST_BYTE_ORDER = %s\n", options_byte_order (WITH_HOST_BYTE_ORDER)); printf_filtered ("WITH_TARGET_BYTE_ORDER = %s\n", options_byte_order (WITH_TARGET_BYTE_ORDER)); printf_filtered ("WITH_BSWAP = %d\n", WITH_BSWAP); @@ -141,6 +147,18 @@ print_options (void) printf_filtered ("SEMANTICS_INLINE = %d\n", SEMANTICS_INLINE); printf_filtered ("IDECODE_INLINE = %d\n", IDECODE_INLINE); printf_filtered ("FUNCTION_UNIT_INLINE = %d\n", FUNCTION_UNIT_INLINE); + +#ifdef OPCODE_RULES + printf_filtered ("OPCODE rules = %s\n", OPCODE_RULES); +#endif + +#ifdef IGEN_FLAGS + printf_filtered ("IGEN_FLAGS = %s\n", IGEN_FLAGS); +#endif + +#ifdef DGEN_FLAGS + printf_filtered ("DGEN_FLAGS = %s\n", DGEN_FLAGS); +#endif } #endif /* _OPTIONS_C_ */ |