aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Savoye <rob@senecass.com>2020-07-13 18:19:37 -0600
committerRob Savoye <rob@senecass.com>2020-07-13 18:19:37 -0600
commit819fbe74ee959ec0003391ae2116f67d578456ab (patch)
tree4782d82f5210c676458579dc8287c0ce9fc7e4ba
parent5d954c5ad5f178eb096b93a301f0bd3a08d47ab3 (diff)
downloaddejagnu-819fbe74ee959ec0003391ae2116f67d578456ab.zip
dejagnu-819fbe74ee959ec0003391ae2116f67d578456ab.tar.gz
dejagnu-819fbe74ee959ec0003391ae2116f67d578456ab.tar.bz2
Initial support for the GCC compile farm as a working example. (if you have an account)
-rw-r--r--contrib/jenkins/README7
-rw-r--r--contrib/jenkins/aarch64-target1.exp37
-rw-r--r--contrib/jenkins/aarch64-target2.exp37
-rw-r--r--contrib/jenkins/aarch64-target3.exp37
-rw-r--r--contrib/jenkins/aarch64-target4.exp37
-rw-r--r--contrib/jenkins/arm-target1.exp37
-rw-r--r--contrib/jenkins/arm-target2.exp37
-rw-r--r--contrib/jenkins/arm-target3.exp37
-rw-r--r--contrib/jenkins/arm-target4.exp37
-rw-r--r--contrib/jenkins/site.exp62
10 files changed, 365 insertions, 0 deletions
diff --git a/contrib/jenkins/README b/contrib/jenkins/README
new file mode 100644
index 0000000..fea7ee2
--- /dev/null
+++ b/contrib/jenkins/README
@@ -0,0 +1,7 @@
+These are board files for various publically accessible remote linux
+hosts. Current these are for the GCC compile farm, which you need to
+get a free account on. Or use the same hostnames in your /etc/hosts and
+$HOME/.ssh/config and it'll just work.
+
+Copy these to $HOME/boards to active them.
+
diff --git a/contrib/jenkins/aarch64-target1.exp b/contrib/jenkins/aarch64-target1.exp
new file mode 100644
index 0000000..86051bb
--- /dev/null
+++ b/contrib/jenkins/aarch64-target1.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target1"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/aarch64-target2.exp b/contrib/jenkins/aarch64-target2.exp
new file mode 100644
index 0000000..0e3ed18
--- /dev/null
+++ b/contrib/jenkins/aarch64-target2.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target2"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/aarch64-target3.exp b/contrib/jenkins/aarch64-target3.exp
new file mode 100644
index 0000000..6cdd0e0
--- /dev/null
+++ b/contrib/jenkins/aarch64-target3.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target3"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/aarch64-target4.exp b/contrib/jenkins/aarch64-target4.exp
new file mode 100644
index 0000000..9ecbf79
--- /dev/null
+++ b/contrib/jenkins/aarch64-target4.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target4"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/arm-target1.exp b/contrib/jenkins/arm-target1.exp
new file mode 100644
index 0000000..86051bb
--- /dev/null
+++ b/contrib/jenkins/arm-target1.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target1"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/arm-target2.exp b/contrib/jenkins/arm-target2.exp
new file mode 100644
index 0000000..0e3ed18
--- /dev/null
+++ b/contrib/jenkins/arm-target2.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target2"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/arm-target3.exp b/contrib/jenkins/arm-target3.exp
new file mode 100644
index 0000000..6cdd0e0
--- /dev/null
+++ b/contrib/jenkins/arm-target3.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target3"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/arm-target4.exp b/contrib/jenkins/arm-target4.exp
new file mode 100644
index 0000000..9ecbf79
--- /dev/null
+++ b/contrib/jenkins/arm-target4.exp
@@ -0,0 +1,37 @@
+#
+# Copyright (C) 2020 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+load_base_board_description "linux-gdbserver"
+set_board_info compiler [find_gcc]
+
+#process_multilib_options ""
+
+# Define ld_library_path variable to workaround asan and go testsuites
+# referring to it
+set ld_library_path ""
+
+# QEMU uses the standard remote debugging protocol as used by gdbserver.
+set_board_info gdb_protocol "remote"
+# localhost is the default host used for the remote debugging protocol
+set_board_info gdb,sockethost "aarch64-target4"
+
+set_board_info rsh_prog /usr/bin/ssh
+set_board_info rcp_prog /usr/bin/scp
+
+# statically link the test case executables
+set_board_info ldflags "-static"
+
diff --git a/contrib/jenkins/site.exp b/contrib/jenkins/site.exp
new file mode 100644
index 0000000..4aded84
--- /dev/null
+++ b/contrib/jenkins/site.exp
@@ -0,0 +1,62 @@
+# The master configuration file should be here
+
+global env
+if {[info exists env(PREFIX_UNDER_TEST)]} {
+ set prefix "$env(PREFIX_UNDER_TEST)"
+ set flags ""
+ if {[info exists env(FLAGS_UNDER_TEST)]} {
+ set flags "$env(FLAGS_UNDER_TEST)"
+ }
+ if {[info exists env(SYSROOT_UNDER_TEST)]} {
+ set sysroot "$env(SYSROOT_UNDER_TEST)"
+ set flags "$flags --sysroot=$env(SYSROOT_UNDER_TEST)"
+ }
+
+ set GCC_UNDER_TEST "[set prefix]gcc $flags"
+ set GXX_UNDER_TEST "[set prefix]g++ $flags"
+ set GFORTRAN_UNDER_TEST "[set prefix]gfortran $flags"
+ set OBJC_UNDER_TEST "[set prefix]gcc $flags"
+ set GOC_UNDER_TEST "[set prefix]goc $flags"
+ set GNAT_UNDER_TEST "[set prefix]gnat $flags"
+}
+
+if {[info exists env(SYSROOT_UNDER_TEST)]} {
+ set native ""
+} else {
+ set native "native"
+}
+
+if {[info exists env(QEMU_CPU_UNDER_TEST)]} {
+ set qemu_cpu "$env(QEMU_CPU_UNDER_TEST)"
+} else {
+ set qemu_cpu "any"
+}
+
+case "$target_triplet" in {
+ {"arm-pi3-linux-gnueabihf"} {
+ set target_list { "pi" }
+ }
+ { "arm-*linux-gnueabi*" "armv7l-*linux-gnueabi*" } {
+ set target_list { "arm-target2" "arm-target4" "arm-target1"}
+ }
+ { "aarch64-*-gnu" } {
+ set target_list { "aarch64-target2" "aarch64-target4" "aarch64-target1"}
+ }
+ { "armeb-*-eabi*" } {
+ global SIM
+ # CPU and sysroot are set through the environment
+ set SIM "qemu-armeb"
+ }
+ { "arm*-*-eabi*" } {
+ global SIM
+ # CPU and sysroot are set through the environment
+ set SIM "qemu-arm"
+ }
+ { "aarch64*-*elf*" } {
+ set SIM "qemu-aarch64"
+ set target_list { "qemu" }
+ }
+ default {
+ puts "No target hardware for $target_triplet"
+ }
+}