[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 33/54] tests/tcg: enable building for Alpha
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [PATCH v7 33/54] tests/tcg: enable building for Alpha |
Date: |
Fri, 15 Jun 2018 20:46:44 +0100 |
We can't use our normal Debian based compilers as Alpha isn't an
officially supported architecture. However it is available as a port
and fortunately cross compilers for all these targets are included in
Debian Sid, the perpetual rolling/unstable/testing version of Debian.
Signed-off-by: Alex Bennée <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
---
v5
- drop the unused debian-cross-build docker image
- add note to debian-sid docker image
- echo reference to notes on build failure
- include EXTRA_RUNS for mmap tests
v6
- use NOCACHE=1 for docker-image-debian-sid to force re-builds
- this seems a little hacky
---
tests/docker/Makefile.include | 7 ++++
.../dockerfiles/debian-alpha-cross.docker | 12 +++++++
tests/docker/dockerfiles/debian-sid.docker | 32 +++++++++++++++++++
tests/tcg/alpha/Makefile.include | 2 ++
tests/tcg/alpha/Makefile.target | 6 ++++
5 files changed, 59 insertions(+)
create mode 100644 tests/docker/dockerfiles/debian-alpha-cross.docker
create mode 100644 tests/docker/dockerfiles/debian-sid.docker
create mode 100644 tests/tcg/alpha/Makefile.include
create mode 100644 tests/tcg/alpha/Makefile.target
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 4a2b028a3b..8c24f8807e 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -64,6 +64,13 @@ docker-image-debian-ppc64el-cross: docker-image-debian9
docker-image-debian-s390x-cross: docker-image-debian9
docker-image-debian-win32-cross: docker-image-debian8-mxe
docker-image-debian-win64-cross: docker-image-debian8-mxe
+
+# Debian SID images - we are tracking a rolling distro so we want to
+# force a re-build of the base image if we ever need to build one of
+# its children.
+docker-image-debian-sid: NOCACHE=1
+
+docker-image-debian-alpha-cross: docker-image-debian-sid
docker-image-travis: NOUSER=1
# Specialist build images, sometimes very limited tools
diff --git a/tests/docker/dockerfiles/debian-alpha-cross.docker
b/tests/docker/dockerfiles/debian-alpha-cross.docker
new file mode 100644
index 0000000000..29a25d0dfd
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-alpha-cross.docker
@@ -0,0 +1,12 @@
+#
+# Docker cross-compiler target
+#
+# This docker target builds on the debian sid base image which
+# contains cross compilers for Debian "ports" targets.
+#
+FROM qemu:debian-sid
+
+RUN DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt-get install -y --no-install-recommends \
+ gcc-alpha-linux-gnu \
+ libc6.1-dev-alpha-cross || { echo "Failed to build - see
debian-sid.docker notes"; exit 1; }
diff --git a/tests/docker/dockerfiles/debian-sid.docker
b/tests/docker/dockerfiles/debian-sid.docker
new file mode 100644
index 0000000000..9a3d168705
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-sid.docker
@@ -0,0 +1,32 @@
+#
+# Debian Sid Base
+#
+# A number of our guests exist as ports only. We can either use the
+# ports repo or get everything from Sid. However Sid is a rolling
+# distro which may be broken at any particular time. If you are
+# unlucky and try and build your images while gcc is in the process of
+# being uploaded this can fail. Your only recourse is to try again in
+# a few hours when the repos have re-synced. Once built however you
+# won't be affected by repo changes unless the docker recipies are
+# updated and trigger a re-build.
+#
+
+FROM debian:sid-slim
+
+# Duplicate deb line as deb-src
+RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >>
/etc/apt/sources.list
+
+# Install common build utilities
+RUN apt update
+RUN DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata
+RUN DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt install -y --no-install-recommends \
+ bison \
+ build-essential \
+ ca-certificates \
+ flex \
+ git \
+ pkg-config \
+ psmisc \
+ python \
+ texinfo || { echo "Failed to build - see debian-sid.docker notes";
exit 1; }
diff --git a/tests/tcg/alpha/Makefile.include b/tests/tcg/alpha/Makefile.include
new file mode 100644
index 0000000000..c7dc48eadb
--- /dev/null
+++ b/tests/tcg/alpha/Makefile.include
@@ -0,0 +1,2 @@
+DOCKER_IMAGE=debian-alpha-cross
+DOCKER_CROSS_COMPILER=alpha-linux-gnu-gcc
diff --git a/tests/tcg/alpha/Makefile.target b/tests/tcg/alpha/Makefile.target
new file mode 100644
index 0000000000..bedf1b6444
--- /dev/null
+++ b/tests/tcg/alpha/Makefile.target
@@ -0,0 +1,6 @@
+# -*- Mode: makefile -*-
+#
+# Alpha specific tweaks
+
+# On Alpha Linux only supports 8k pages
+EXTRA_RUNS+=run-test-mmap-8192
--
2.17.1
- [Qemu-devel] [PATCH v7 42/54] tests/tcg: enable building for PowerPC, (continued)
- [Qemu-devel] [PATCH v7 42/54] tests/tcg: enable building for PowerPC, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 48/54] tests: add top-level make dependency for docker builds, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 20/54] tests/tcg/i386/test-i386: use modern vector_size attributes, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 47/54] tests/tcg: override runners for broken tests, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 41/54] docker: move debian-powerpc-cross to sid based build, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 25/54] tests/tcg: enable building for AArch64, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 49/54] docker: docker.py don't conflate checksums for extra_files, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 40/54] tests/tcg: enable building for RISCV64, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 18/54] tests/tcg/i386: add runner for test-i386-fprem, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 30/54] tests/tcg/mips: include common mips hello-mips, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 33/54] tests/tcg: enable building for Alpha,
Alex Bennée <=
- [Qemu-devel] [PATCH v7 28/54] tests/tcg: enable building for MIPS, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 45/54] tests/Makefile.include: add [build|clean|check]-tcg targets, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 26/54] tests/tcg/arm: add fcvt test cases for AArch32/64, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 16/54] tests/tcg/i386: Build fix for hello-i386, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 17/54] tests/tcg/i386: fix test-i386, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 39/54] tests/tcg: enable building for mips64, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 29/54] tests/docker/Makefile.include: fix mipsel-cross dependancy, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 51/54] tests/Makefile: call sub-makes with SKIP_DOCKER_BUILD=1, Alex Bennée, 2018/06/15
- [Qemu-devel] [PATCH v7 32/54] tests/tcg: enable building for ppc64, Alex Bennée, 2018/06/15