From: Mike Frysinger <vapier@gentoo.org>
To: Doug Evans <dje@google.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] sim: unify target->subdir handling for default tests
Date: Thu, 22 Apr 2010 02:06:00 -0000 [thread overview]
Message-ID: <201004212206.22770.vapier@gentoo.org> (raw)
In-Reply-To: <t2ye394668d1004211532q92d9a422g39cdd5fc1c1264ce@mail.gmail.com>
[-- Attachment #1: Type: Text/Plain, Size: 8904 bytes --]
On Wednesday 21 April 2010 18:32:22 Doug Evans wrote:
> I'd add a comment to configure.tgt saying that it's intended to be
> m4-included. [It's kinda clear since a few lines in there's an m4 command
> :-), but an explicit comment would help, I think.]
here is the updated patch with your feedback. i also noticed that it had
Blackfin fragments that arent yet appropriate, so ive dropped those.
if no one complains, i'll prob commit this weekend.
-mike
sim/:
2010-04-21 Mike Frysinger <vapier@gentoo.org>
* configure.ac: Target logic moved out to and included from ...
* configure.tgt: ... this new file.
* configure: Regenerated.
sim/testsuite/:
2010-04-21 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.
---
sim/configure.ac | 116 +++-------------------------------------
sim/configure.tgt | 113 ++++++++++++++++++++++++++++++++++++++
sim/testsuite/Makefile.in | 2 +-
sim/testsuite/configure.ac | 8 +---
sim/testsuite/lib/sim-defs.exp | 9 +++
5 files changed, 132 insertions(+), 116 deletions(-)
create mode 100644 sim/configure.tgt
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/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.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]
--
1.7.0.2
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2010-04-22 2:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-21 21:12 Mike Frysinger
2010-04-21 22:32 ` Doug Evans
2010-04-22 2:03 ` Mike Frysinger
2010-04-22 2:26 ` Mike Frysinger
2010-04-22 2:06 ` Mike Frysinger [this message]
2010-04-26 16:24 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201004212206.22770.vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=dje@google.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox