diff options
-rw-r--r-- | sim/ChangeLog | 6 | ||||
-rwxr-xr-x | sim/configure | 323 | ||||
-rw-r--r-- | sim/configure.ac | 116 | ||||
-rw-r--r-- | sim/configure.tgt | 113 | ||||
-rw-r--r-- | sim/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | sim/testsuite/Makefile.in | 2 | ||||
-rwxr-xr-x | sim/testsuite/configure | 116 | ||||
-rw-r--r-- | sim/testsuite/configure.ac | 8 | ||||
-rw-r--r-- | sim/testsuite/lib/sim-defs.exp | 9 | ||||
-rw-r--r-- | sim/testsuite/sim/mips/ChangeLog | 4 | ||||
-rw-r--r-- | sim/testsuite/sim/mips/basic.exp | 5 |
11 files changed, 461 insertions, 248 deletions
diff --git a/sim/ChangeLog b/sim/ChangeLog index f0a8287..15bcaff 100644 --- a/sim/ChangeLog +++ b/sim/ChangeLog @@ -1,3 +1,9 @@ +2010-04-26 Mike Frysinger <vapier@gentoo.org> + + * configure.ac: Target logic moved out to and included from ... + * configure.tgt: ... this new file. + * configure: Regenerated. + 2010-04-12 Mike Frysinger <vapier@gentoo.org> * README-HACKING: Add more sections. diff --git a/sim/configure b/sim/configure index be5e348..b6488e2 100755 --- a/sim/configure +++ b/sim/configure @@ -554,6 +554,7 @@ ac_unique_file="Makefile.in" enable_option_checking=no ac_subst_vars='LTLIBOBJS LIBOBJS +sim_arch subdirs CFLAGS_FOR_BUILD CC_FOR_BUILD @@ -3604,6 +3605,9 @@ esac fi + +if test "${enable_sim}" != no; then + # WHEN ADDING ENTRIES TO THIS MATRIX: # Make sure that the left side always has two dashes. Otherwise you @@ -3611,139 +3615,212 @@ fi # convention, else the table becomes a real mess to understand and # maintain. -if test "${enable_sim}" != no; then - testsuite=no - common=yes - igen=no - case "${target}" in - arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*) + + +sim_testsuite=no +sim_common=yes +sim_igen=no +sim_arch= +case "${target}" in + arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*) + + sim_arch=arm subdirs="$subdirs arm" - testsuite=yes - ;; - avr*-*-*) - subdirs="$subdirs avr" - - ;; - cr16*-*-*) - subdirs="$subdirs cr16" - - testsuite=yes - ;; - cris-*-* | crisv32-*-*) - subdirs="$subdirs cris" - - testsuite=yes - ;; - d10v-*-*) - subdirs="$subdirs d10v" - - ;; - frv-*-*) - subdirs="$subdirs frv" - - testsuite=yes - ;; - h8300*-*-*) - subdirs="$subdirs h8300" - - testsuite=yes - ;; - iq2000-*-*) - subdirs="$subdirs iq2000" - - testsuite=yes - ;; - lm32-*-*) - subdirs="$subdirs lm32" - - testsuite=yes - ;; - m32c-*-*) - subdirs="$subdirs m32c" - - ;; - m32r-*-*) - subdirs="$subdirs m32r" - - testsuite=yes - ;; - m68hc11-*-*|m6811-*-*) - subdirs="$subdirs m68hc11" - - testsuite=yes - ;; - mcore-*-*) - subdirs="$subdirs mcore" - - testsuite=yes - ;; - microblaze-*-*) - subdirs="$subdirs microblaze" - - testsuite=yes - ;; - mips*-*-*) - subdirs="$subdirs mips" - - testsuite=yes - igen=yes - ;; - mn10300*-*-*) - subdirs="$subdirs mn10300" - - igen=yes - ;; - moxie-*-*) - subdirs="$subdirs moxie" - - testsuite=yes - ;; - rx-*-*) - subdirs="$subdirs rx" - - ;; - sh64*-*-*) - subdirs="$subdirs sh64" - - testsuite=yes - ;; - sh*-*-*) - subdirs="$subdirs sh" - - testsuite=yes - ;; - sparc-*-rtems*|sparc-*-elf*) - subdirs="$subdirs erc32" - - testsuite=yes - ;; - powerpc*-*-* ) - subdirs="$subdirs ppc" - - ;; - v850*-*-* ) - subdirs="$subdirs v850" - - igen=yes - testsuite=yes - ;; - *) - # No simulator subdir, so the subdir "common" isn't needed. - common=no - ;; - esac - if test "$testsuite" = yes; then + + sim_testsuite=yes + ;; + avr*-*-*) + + sim_arch=avr + subdirs="$subdirs avr" + + + ;; + cr16*-*-*) + + sim_arch=cr16 + subdirs="$subdirs cr16" + + + sim_testsuite=yes + ;; + cris-*-* | crisv32-*-*) + + sim_arch=cris + subdirs="$subdirs cris" + + + sim_testsuite=yes + ;; + d10v-*-*) + + sim_arch=d10v + subdirs="$subdirs d10v" + + + ;; + frv-*-*) + + sim_arch=frv + subdirs="$subdirs frv" + + + sim_testsuite=yes + ;; + h8300*-*-*) + + sim_arch=h8300 + subdirs="$subdirs h8300" + + + sim_testsuite=yes + ;; + iq2000-*-*) + + sim_arch=iq2000 + subdirs="$subdirs iq2000" + + + sim_testsuite=yes + ;; + lm32-*-*) + + sim_arch=lm32 + subdirs="$subdirs lm32" + + + sim_testsuite=yes + ;; + m32c-*-*) + + sim_arch=m32c + subdirs="$subdirs m32c" + + + ;; + m32r-*-*) + + sim_arch=m32r + subdirs="$subdirs m32r" + + + sim_testsuite=yes + ;; + m68hc11-*-*|m6811-*-*) + + sim_arch=m68hc11 + subdirs="$subdirs m68hc11" + + + sim_testsuite=yes + ;; + mcore-*-*) + + sim_arch=mcore + subdirs="$subdirs mcore" + + + sim_testsuite=yes + ;; + microblaze-*-*) + + sim_arch=microblaze + subdirs="$subdirs microblaze" + + + sim_testsuite=yes + ;; + mips*-*-*) + + sim_arch=mips + subdirs="$subdirs mips" + + + sim_testsuite=yes + sim_igen=yes + ;; + mn10300*-*-*) + + sim_arch=mn10300 + subdirs="$subdirs mn10300" + + + sim_igen=yes + ;; + moxie-*-*) + + sim_arch=moxie + subdirs="$subdirs moxie" + + + sim_testsuite=yes + ;; + rx-*-*) + + sim_arch=rx + subdirs="$subdirs rx" + + + ;; + sh64*-*-*) + + sim_arch=sh64 + subdirs="$subdirs sh64" + + + sim_testsuite=yes + ;; + sh*-*-*) + + sim_arch=sh + subdirs="$subdirs sh" + + + sim_testsuite=yes + ;; + sparc-*-rtems*|sparc-*-elf*) + + sim_arch=erc32 + subdirs="$subdirs erc32" + + + sim_testsuite=yes + ;; + powerpc*-*-*) + + sim_arch=ppc + subdirs="$subdirs ppc" + + + ;; + v850*-*-*) + + sim_arch=v850 + subdirs="$subdirs v850" + + + sim_igen=yes + sim_testsuite=yes + ;; + *) + # No simulator subdir, so the subdir "common" isn't needed. + sim_common=no + ;; +esac + + + if test "$sim_testsuite" = yes; then subdirs="$subdirs testsuite" fi - if test "$common" = yes; then + if test "$sim_common" = yes; then subdirs="$subdirs common" fi - if test "$igen" = yes; then + if test "$sim_igen" = yes; then subdirs="$subdirs igen" fi diff --git a/sim/configure.ac b/sim/configure.ac index dad245e..8c1d914 100644 --- a/sim/configure.ac +++ b/sim/configure.ac @@ -36,119 +36,19 @@ yes | no) ;; *) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;; esac]) -# WHEN ADDING ENTRIES TO THIS MATRIX: - -# Make sure that the left side always has two dashes. Otherwise you -# can get spurious matches. Even for unambiguous cases, do this as a -# convention, else the table becomes a real mess to understand and -# maintain. - +m4_define([SIM_ARCH], [ + sim_arch=$1 + AC_CONFIG_SUBDIRS($1) +]) if test "${enable_sim}" != no; then - testsuite=no - common=yes - igen=no - case "${target}" in - arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*) - AC_CONFIG_SUBDIRS(arm) - testsuite=yes - ;; - avr*-*-*) - AC_CONFIG_SUBDIRS(avr) - ;; - cr16*-*-*) - AC_CONFIG_SUBDIRS(cr16) - testsuite=yes - ;; - cris-*-* | crisv32-*-*) - AC_CONFIG_SUBDIRS(cris) - testsuite=yes - ;; - d10v-*-*) - AC_CONFIG_SUBDIRS(d10v) - ;; - frv-*-*) - AC_CONFIG_SUBDIRS(frv) - testsuite=yes - ;; - h8300*-*-*) - AC_CONFIG_SUBDIRS(h8300) - testsuite=yes - ;; - iq2000-*-*) - AC_CONFIG_SUBDIRS(iq2000) - testsuite=yes - ;; - lm32-*-*) - AC_CONFIG_SUBDIRS(lm32) - testsuite=yes - ;; - m32c-*-*) - AC_CONFIG_SUBDIRS(m32c) - ;; - m32r-*-*) - AC_CONFIG_SUBDIRS(m32r) - testsuite=yes - ;; - m68hc11-*-*|m6811-*-*) - AC_CONFIG_SUBDIRS(m68hc11) - testsuite=yes - ;; - mcore-*-*) - AC_CONFIG_SUBDIRS(mcore) - testsuite=yes - ;; - microblaze-*-*) - AC_CONFIG_SUBDIRS(microblaze) - testsuite=yes - ;; - mips*-*-*) - AC_CONFIG_SUBDIRS(mips) - testsuite=yes - igen=yes - ;; - mn10300*-*-*) - AC_CONFIG_SUBDIRS(mn10300) - igen=yes - ;; - moxie-*-*) - AC_CONFIG_SUBDIRS(moxie) - testsuite=yes - ;; - rx-*-*) - AC_CONFIG_SUBDIRS(rx) - ;; - sh64*-*-*) - AC_CONFIG_SUBDIRS(sh64) - testsuite=yes - ;; - sh*-*-*) - AC_CONFIG_SUBDIRS(sh) - testsuite=yes - ;; - sparc-*-rtems*|sparc-*-elf*) - AC_CONFIG_SUBDIRS(erc32) - testsuite=yes - ;; - powerpc*-*-* ) - AC_CONFIG_SUBDIRS(ppc) - ;; - v850*-*-* ) - AC_CONFIG_SUBDIRS(v850) - igen=yes - testsuite=yes - ;; - *) - # No simulator subdir, so the subdir "common" isn't needed. - common=no - ;; - esac - if test "$testsuite" = yes; then + sinclude(configure.tgt) + if test "$sim_testsuite" = yes; then AC_CONFIG_SUBDIRS(testsuite) fi - if test "$common" = yes; then + if test "$sim_common" = yes; then AC_CONFIG_SUBDIRS(common) fi - if test "$igen" = yes; then + if test "$sim_igen" = yes; then AC_CONFIG_SUBDIRS(igen) fi fi diff --git a/sim/configure.tgt b/sim/configure.tgt new file mode 100644 index 0000000..592bc3c --- /dev/null +++ b/sim/configure.tgt @@ -0,0 +1,113 @@ +dnl Note that this file is intended to be included at the m4 level and not +dnl the shell level, so use sinclude(...) to pull it in. + +# WHEN ADDING ENTRIES TO THIS MATRIX: + +# Make sure that the left side always has two dashes. Otherwise you +# can get spurious matches. Even for unambiguous cases, do this as a +# convention, else the table becomes a real mess to understand and +# maintain. + +dnl glue to avoid code duplication at top level +m4_ifndef([SIM_ARCH], [AC_DEFUN([SIM_ARCH],[sim_arch=$1])]) + +sim_testsuite=no +sim_common=yes +sim_igen=no +sim_arch= +case "${target}" in + arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*) + SIM_ARCH(arm) + sim_testsuite=yes + ;; + avr*-*-*) + SIM_ARCH(avr) + ;; + cr16*-*-*) + SIM_ARCH(cr16) + sim_testsuite=yes + ;; + cris-*-* | crisv32-*-*) + SIM_ARCH(cris) + sim_testsuite=yes + ;; + d10v-*-*) + SIM_ARCH(d10v) + ;; + frv-*-*) + SIM_ARCH(frv) + sim_testsuite=yes + ;; + h8300*-*-*) + SIM_ARCH(h8300) + sim_testsuite=yes + ;; + iq2000-*-*) + SIM_ARCH(iq2000) + sim_testsuite=yes + ;; + lm32-*-*) + SIM_ARCH(lm32) + sim_testsuite=yes + ;; + m32c-*-*) + SIM_ARCH(m32c) + ;; + m32r-*-*) + SIM_ARCH(m32r) + sim_testsuite=yes + ;; + m68hc11-*-*|m6811-*-*) + SIM_ARCH(m68hc11) + sim_testsuite=yes + ;; + mcore-*-*) + SIM_ARCH(mcore) + sim_testsuite=yes + ;; + microblaze-*-*) + SIM_ARCH(microblaze) + sim_testsuite=yes + ;; + mips*-*-*) + SIM_ARCH(mips) + sim_testsuite=yes + sim_igen=yes + ;; + mn10300*-*-*) + SIM_ARCH(mn10300) + sim_igen=yes + ;; + moxie-*-*) + SIM_ARCH(moxie) + sim_testsuite=yes + ;; + rx-*-*) + SIM_ARCH(rx) + ;; + sh64*-*-*) + SIM_ARCH(sh64) + sim_testsuite=yes + ;; + sh*-*-*) + SIM_ARCH(sh) + sim_testsuite=yes + ;; + sparc-*-rtems*|sparc-*-elf*) + SIM_ARCH(erc32) + sim_testsuite=yes + ;; + powerpc*-*-*) + SIM_ARCH(ppc) + ;; + v850*-*-*) + SIM_ARCH(v850) + sim_igen=yes + sim_testsuite=yes + ;; + *) + # No simulator subdir, so the subdir "common" isn't needed. + sim_common=no + ;; +esac +AC_SUBST(sim_arch) diff --git a/sim/testsuite/ChangeLog b/sim/testsuite/ChangeLog index 5142221..dac320f 100644 --- a/sim/testsuite/ChangeLog +++ b/sim/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2010-04-26 Mike Frysinger <vapier@gentoo.org> + + * Makefile.in (arch): Set to @sim_arch@. + * configure.ac: Delete arch logic and include ../configure.tgt. + * configure: Regenerated. + * lib/sim-defs.exp (sim_run): Default sim to ../arch/run. + 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure: Regenerate. diff --git a/sim/testsuite/Makefile.in b/sim/testsuite/Makefile.in index 6a60f95..bfb721d 100644 --- a/sim/testsuite/Makefile.in +++ b/sim/testsuite/Makefile.in @@ -30,7 +30,7 @@ target_canonical = @target@ target_alias = @target_alias@ program_transform_name = @program_transform_name@ -arch = @arch@ +arch = @sim_arch@ SHELL = /bin/sh SUBDIRS = @subdirs@ diff --git a/sim/testsuite/configure b/sim/testsuite/configure index 03db937..da7967e 100755 --- a/sim/testsuite/configure +++ b/sim/testsuite/configure @@ -554,7 +554,7 @@ ac_unique_file="common/bits-tst.c" enable_option_checking=no ac_subst_vars='LTLIBOBJS LIBOBJS -arch +sim_arch subdirs target_os target_vendor @@ -1808,14 +1808,118 @@ subdirs="$subdirs frv-elf" ;; esac -# Compute the target architecture. -# FIXME: Will need to canonicalize some values. -# FIXME: Should be in generally accessable place. -case $target in - *) arch=${target_cpu} ;; + +# WHEN ADDING ENTRIES TO THIS MATRIX: + +# Make sure that the left side always has two dashes. Otherwise you +# can get spurious matches. Even for unambiguous cases, do this as a +# convention, else the table becomes a real mess to understand and +# maintain. + + + +sim_testsuite=no +sim_common=yes +sim_igen=no +sim_arch= +case "${target}" in + arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*) + sim_arch=arm + sim_testsuite=yes + ;; + avr*-*-*) + sim_arch=avr + ;; + cr16*-*-*) + sim_arch=cr16 + sim_testsuite=yes + ;; + cris-*-* | crisv32-*-*) + sim_arch=cris + sim_testsuite=yes + ;; + d10v-*-*) + sim_arch=d10v + ;; + frv-*-*) + sim_arch=frv + sim_testsuite=yes + ;; + h8300*-*-*) + sim_arch=h8300 + sim_testsuite=yes + ;; + iq2000-*-*) + sim_arch=iq2000 + sim_testsuite=yes + ;; + lm32-*-*) + sim_arch=lm32 + sim_testsuite=yes + ;; + m32c-*-*) + sim_arch=m32c + ;; + m32r-*-*) + sim_arch=m32r + sim_testsuite=yes + ;; + m68hc11-*-*|m6811-*-*) + sim_arch=m68hc11 + sim_testsuite=yes + ;; + mcore-*-*) + sim_arch=mcore + sim_testsuite=yes + ;; + microblaze-*-*) + sim_arch=microblaze + sim_testsuite=yes + ;; + mips*-*-*) + sim_arch=mips + sim_testsuite=yes + sim_igen=yes + ;; + mn10300*-*-*) + sim_arch=mn10300 + sim_igen=yes + ;; + moxie-*-*) + sim_arch=moxie + sim_testsuite=yes + ;; + rx-*-*) + sim_arch=rx + ;; + sh64*-*-*) + sim_arch=sh64 + sim_testsuite=yes + ;; + sh*-*-*) + sim_arch=sh + sim_testsuite=yes + ;; + sparc-*-rtems*|sparc-*-elf*) + sim_arch=erc32 + sim_testsuite=yes + ;; + powerpc*-*-*) + sim_arch=ppc + ;; + v850*-*-*) + sim_arch=v850 + sim_igen=yes + sim_testsuite=yes + ;; + *) + # No simulator subdir, so the subdir "common" isn't needed. + sim_common=no + ;; esac + ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF diff --git a/sim/testsuite/configure.ac b/sim/testsuite/configure.ac index ceaf4ff..ba17a33 100644 --- a/sim/testsuite/configure.ac +++ b/sim/testsuite/configure.ac @@ -25,12 +25,6 @@ case ${target} in ;; esac -# Compute the target architecture. -# FIXME: Will need to canonicalize some values. -# FIXME: Should be in generally accessable place. -case $target in - *) arch=${target_cpu} ;; -esac -AC_SUBST(arch) +sinclude(../configure.tgt) AC_OUTPUT(Makefile) diff --git a/sim/testsuite/lib/sim-defs.exp b/sim/testsuite/lib/sim-defs.exp index 3cef394..1e65817 100644 --- a/sim/testsuite/lib/sim-defs.exp +++ b/sim/testsuite/lib/sim-defs.exp @@ -88,6 +88,15 @@ proc sim_run { prog sim_opts prog_opts redir options } { verbose "testcase timeout is set to $testcase_timeout" 1 set sim [board_info target sim] + if [string equal "" $sim] { + # Special case the simulator. These tests are designed to + # be run inside of the simulator, not on the native host. + # So if the sim target isn't set, default to the target run. + # These global variables come from generated site.exp. + global objdir + global arch + set sim "$objdir/../$arch/run" + } if [is_remote host] { set prog [remote_download host $prog] diff --git a/sim/testsuite/sim/mips/ChangeLog b/sim/testsuite/sim/mips/ChangeLog index 4bb18b1..99a3121 100644 --- a/sim/testsuite/sim/mips/ChangeLog +++ b/sim/testsuite/sim/mips/ChangeLog @@ -1,3 +1,7 @@ +2010-04-26 Mike Frysinger <vapier@gentoo.org> + + * basic.exp: Delete sim target check. + 2007-08-27 Joel Brobecker <brobecker@adacore.com> * testutils.inc: Change license to GPL version 3. diff --git a/sim/testsuite/sim/mips/basic.exp b/sim/testsuite/sim/mips/basic.exp index 14181c7..15caecc 100644 --- a/sim/testsuite/sim/mips/basic.exp +++ b/sim/testsuite/sim/mips/basic.exp @@ -32,9 +32,8 @@ proc run_hilo_test {testfile models nops} { } -# Only test mips*-*-elf (e.g., no mips*-*-linux), and only test if the target -# board really is a simulator (sim tests don't work on real HW). -if {[istarget mips*-*-elf] && [board_info target exists is_simulator]} { +# Only test mips*-*-elf (e.g., no mips*-*-linux) +if {[istarget mips*-*-elf]} { set dspmodels "" set mdmxmodels "" |