Commit 6239c28741a8abc1bd06cb47329d8c5cdb359c90

Anthony Green 2018-03-13T22:13:44

Add experimental moxie travis build

diff --git a/.travis.yml b/.travis.yml
index 531f457..273c043 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,6 +16,9 @@ matrix:
     - os: linux
       compiler: gcc
       env: HOST=i386-pc-linux-gnu
+    - os: linux
+      compiler: gcc
+      env: HOST=moxie-elf
 
 install:
   - ./.travis/install.sh
@@ -23,8 +26,9 @@ install:
 script:
   - ./autogen.sh
   - if test x"$HOST" = x"i386-pc-linux-gnu"; then CC="$CC -m32"; CXX="$CXX -m32"; fi
+  - if test x"$HOST" = x"moxie-unknown-elf"; then LDFLAGS="-Tsim.ld"; RUNTESTFLAGS="--target_board moxie-sim"; fi
   - ./configure ${HOST+--host=$HOST} ${CONFIGURE_OPTIONS}
   - make
   - make dist
-  - make check
+  - DEJAGNU=$TRAVIS_BUILD_DIR/.travis make check
   - cat */testsuite/libffi.log
diff --git a/.travis/install.sh b/.travis/install.sh
index 67b5104..d9dd31a 100755
--- a/.travis/install.sh
+++ b/.travis/install.sh
@@ -8,7 +8,14 @@ if [[ $TRAVIS_OS_NAME != 'linux' ]]; then
 else
   sudo apt-get update
   sudo apt-get install dejagnu texinfo
-  if [ "$HOST" = i386-pc-linux-gnu ] ; then
-      sudo apt-get install gcc-multilib g++-multilib;
-  fi
+  case "$HOST" in
+    i386-pc-linux-gnu)
+	sudo apt-get install gcc-multilib g++-multilib
+	;;
+    moxie-unknown-elf)
+	echo 'deb http://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list
+	sudo apt-get update -qq
+	sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gdb-sim
+	;;
+  esac
 fi
diff --git a/.travis/moxie-sim.exp b/.travis/moxie-sim.exp
new file mode 100644
index 0000000..3a6042e
--- /dev/null
+++ b/.travis/moxie-sim.exp
@@ -0,0 +1,60 @@
+# Copyright (C) 2010  Free Software Foundation, Inc.
+#
+# This file is part of DejaGnu.
+#
+# DejaGnu 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.
+#
+# DejaGnu 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 DejaGnu; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# This is a list of toolchains that are supported on this board.
+set_board_info target_install {moxie-elf}
+
+# Load the generic configuration for this board. This will define a basic set
+# of routines needed by the tool to communicate with the board.
+load_generic_config "sim"
+
+# basic-sim.exp is a basic description for the standard Cygnus simulator.
+load_base_board_description "basic-sim"
+
+# "moxie" is the name of the sim subdir in devo/sim.
+setup_sim moxie
+
+# No multilib options needed by default.
+process_multilib_options ""
+
+# We only support newlib on this target. We assume that all multilib
+# options have been specified before we get here.
+
+set_board_info compiler  "[find_gcc]"
+set_board_info cflags    "[libgloss_include_flags] [newlib_include_flags]"
+set_board_info ldflags   "[libgloss_link_flags] [newlib_link_flags]"
+# No linker script needed.
+set_board_info ldscript "-Tsim.ld"
+
+# Configuration settings for testsuites
+set_board_info noargs 1
+set_board_info gdb,nosignals 1
+set_board_info gdb,noresults 1
+set_board_info gdb,cannot_call_functions 1
+set_board_info gdb,skip_float_tests 1
+set_board_info gdb,can_reverse 1
+set_board_info gdb,use_precord 1
+
+# More time is needed
+set_board_info gcc,timeout 800
+set_board_info gdb,timeout 60
+
+# Used by a few gcc.c-torture testcases to delimit how large the stack can
+# be.
+set_board_info gcc,stack_size  5000
+
diff --git a/.travis/site.exp b/.travis/site.exp
new file mode 100644
index 0000000..e42cb1d
--- /dev/null
+++ b/.travis/site.exp
@@ -0,0 +1,18 @@
+# Copyright (C) 2008, 2010, 2018  Anthony Green
+
+# Make sure we look in the right place for the board description files.
+if ![info exists boards_dir] {
+    set boards_dir {}
+}
+
+lappend boards_dir $::env(TRAVIS_BUILD_DIR)/.travis
+
+verbose "Global Config File: target_triplet is $target_triplet" 2
+global target_list
+
+case "$target_triplet" in {
+    { "moxie-elf" } {
+	set target_list "moxie-sim"
+    }
+}
+