From a0c011f1a81c1bc88dc78e9b9f5aa8b25017abb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= <peterke@gmail.com>
Date: Mon, 20 Feb 2017 11:28:55 +0200
Subject: [PATCH] travis: fallback ARM64 builds to Go 1.7.5 due to compiler bug

---
 .travis.yml | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/.travis.yml b/.travis.yml
index b2be5fb26..af7f45a2f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -53,6 +53,25 @@ matrix:
         - GOARM=6 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
         - GOARM=7 CC=arm-linux-gnueabihf-gcc go run build/ci.go install -arch arm
         - GOARM=7 go run build/ci.go archive -arch arm -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
+        # ARM64 linux builds are broken in Go 1.8 (https://github.com/golang/go/issues/19137), reenable in Go 1.8.1
+        # - CC=aarch64-linux-gnu-gcc go run build/ci.go install -arch arm64
+        # - go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
+
+    # This builder is a temporary fallback for building ARM64 while Go 1.8 is fixed
+    - os: linux
+      dist: trusty
+      sudo: required
+      go: 1.7.5
+      env:
+        - azure-linux-arm64-fallback
+      addons:
+        apt:
+          packages:
+            - gcc-multilib
+      script:
+        - sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install gcc-aarch64-linux-gnu libc6-dev-arm64-cross
+        - sudo ln -s /usr/include/asm-generic /usr/include/asm
+
         - CC=aarch64-linux-gnu-gcc go run build/ci.go install -arch arm64
         - go run build/ci.go archive -arch arm64 -type tar -signer LINUX_SIGNING_KEY -upload gethstore/builds
 
-- 
GitLab