travis: enable compilation for ppc64le (v3)

Submitted by Andrei Vagin on April 27, 2016, 12:53 a.m.

Details

Message ID 1461718430-1727-1-git-send-email-avagin@openvz.org
State Rejected, archived
Series "travis: enable compilation for ppc64le (v3)"
Headers show

Commit Message

Andrei Vagin April 27, 2016, 12:53 a.m.
From: Andrew Vagin <avagin@virtuozzo.com>

qemu-static from ubuntu/xenial contains a required fix
and now we can execute compilation for ppc64le in travis.

v2: rebase on criu-dev
v3: set QEMU_CPU=POWER8 to avoid segfaults of qemu-ppc64le-static

> By default, both qemu and gcc5 produce code on ppc64el which will run on
> POWER7 platform.  However, in debian gcc build instruction, gcc is explicitly
> built to produce code for POWER8 platform, which, obviously has additional
> instructions.

Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
---
 .travis.yml                          | 1 +
 scripts/build/Dockerfile.ppc64le.hdr | 1 +
 scripts/build/extract-deb-pkg        | 4 ++--
 3 files changed, 4 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

diff --git a/.travis.yml b/.travis.yml
index 121a7c7..5cd1366 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,6 +7,7 @@  env:
   - TR_ARCH=x86_64
   - TR_ARCH=armv7hf
   - TR_ARCH=aarch64
+  - TR_ARCH=ppc64le
 script:
   - sudo make -C scripts/build $TR_ARCH
   - sudo ./scripts/travis-tests $TR_ARCH
diff --git a/scripts/build/Dockerfile.ppc64le.hdr b/scripts/build/Dockerfile.ppc64le.hdr
index 7976d4e..4d0ec4d 100644
--- a/scripts/build/Dockerfile.ppc64le.hdr
+++ b/scripts/build/Dockerfile.ppc64le.hdr
@@ -1,3 +1,4 @@ 
 FROM ppc64le/ubuntu
 
+ENV QEMU_CPU POWER8
 COPY scripts/build/qemu-user-static/usr/bin/qemu-ppc64le-static /usr/bin/qemu-ppc64le-static
diff --git a/scripts/build/extract-deb-pkg b/scripts/build/extract-deb-pkg
index 8ccec37..da527e8 100755
--- a/scripts/build/extract-deb-pkg
+++ b/scripts/build/extract-deb-pkg
@@ -3,8 +3,8 @@  set -e
 test -d $1 && exit
 mkdir $1
 cd $1
-pkg=`curl http://mirror.yandex.ru/debian/dists/jessie/main/binary-amd64/Packages.gz | zcat | grep "Filename.*$1" | awk '{ print $2 }'`
-wget "http://mirror.yandex.ru/debian/$pkg"
+pkg=`curl http://mirror.yandex.ru/ubuntu/ubuntu/dists/xenial/universe/binary-amd64/Packages.gz | zcat | grep "Filename.*$1" | awk '{ print $2 }'`
+wget "http://mirror.yandex.ru/ubuntu/$pkg"
 pkg=`basename $pkg`
 ar vx $pkg
 tar -xJvf data.tar.xz

Comments

Andrey Vagin April 27, 2016, 5:50 a.m.
Pls, ignore this patch. I've sent a new version.
On Wed, Apr 27, 2016 at 03:53:50AM +0300, Andrey Vagin wrote:
> From: Andrew Vagin <avagin@virtuozzo.com>
> 
> qemu-static from ubuntu/xenial contains a required fix
> and now we can execute compilation for ppc64le in travis.
> 
> v2: rebase on criu-dev
> v3: set QEMU_CPU=POWER8 to avoid segfaults of qemu-ppc64le-static
> 
> > By default, both qemu and gcc5 produce code on ppc64el which will run on
> > POWER7 platform.  However, in debian gcc build instruction, gcc is explicitly
> > built to produce code for POWER8 platform, which, obviously has additional
> > instructions.
> 
> Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
> ---
>  .travis.yml                          | 1 +
>  scripts/build/Dockerfile.ppc64le.hdr | 1 +
>  scripts/build/extract-deb-pkg        | 4 ++--
>  3 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 121a7c7..5cd1366 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -7,6 +7,7 @@ env:
>    - TR_ARCH=x86_64
>    - TR_ARCH=armv7hf
>    - TR_ARCH=aarch64
> +  - TR_ARCH=ppc64le
>  script:
>    - sudo make -C scripts/build $TR_ARCH
>    - sudo ./scripts/travis-tests $TR_ARCH
> diff --git a/scripts/build/Dockerfile.ppc64le.hdr b/scripts/build/Dockerfile.ppc64le.hdr
> index 7976d4e..4d0ec4d 100644
> --- a/scripts/build/Dockerfile.ppc64le.hdr
> +++ b/scripts/build/Dockerfile.ppc64le.hdr
> @@ -1,3 +1,4 @@
>  FROM ppc64le/ubuntu
>  
> +ENV QEMU_CPU POWER8
>  COPY scripts/build/qemu-user-static/usr/bin/qemu-ppc64le-static /usr/bin/qemu-ppc64le-static
> diff --git a/scripts/build/extract-deb-pkg b/scripts/build/extract-deb-pkg
> index 8ccec37..da527e8 100755
> --- a/scripts/build/extract-deb-pkg
> +++ b/scripts/build/extract-deb-pkg
> @@ -3,8 +3,8 @@ set -e
>  test -d $1 && exit
>  mkdir $1
>  cd $1
> -pkg=`curl http://mirror.yandex.ru/debian/dists/jessie/main/binary-amd64/Packages.gz | zcat | grep "Filename.*$1" | awk '{ print $2 }'`
> -wget "http://mirror.yandex.ru/debian/$pkg"
> +pkg=`curl http://mirror.yandex.ru/ubuntu/ubuntu/dists/xenial/universe/binary-amd64/Packages.gz | zcat | grep "Filename.*$1" | awk '{ print $2 }'`
> +wget "http://mirror.yandex.ru/ubuntu/$pkg"
>  pkg=`basename $pkg`
>  ar vx $pkg
>  tar -xJvf data.tar.xz
> -- 
> 2.5.5
>