[v1,08/25] gitlab: add build-user-hexagon test

Message ID 20210419145435.14083-9-alex.bennee@linaro.org
State Superseded
Headers show
Series
  • testing/next (hexagon/tricore/test cc)
Related show

Commit Message

Alex Bennée April 19, 2021, 2:54 p.m.
We special case this as the container with the cross compiler for the
tests takes so long to build it is manually uploaded into the
registry.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

Message-Id: <20210305092328.31792-7-alex.bennee@linaro.org>
---
 .gitlab-ci.yml | 11 +++++++++++
 1 file changed, 11 insertions(+)

-- 
2.20.1

Comments

Willian Rampazzo April 23, 2021, 6:38 p.m. | #1
On Mon, Apr 19, 2021 at 11:54 AM Alex Bennée <alex.bennee@linaro.org> wrote:
>

> We special case this as the container with the cross compiler for the

> tests takes so long to build it is manually uploaded into the

> registry.

>

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

> Message-Id: <20210305092328.31792-7-alex.bennee@linaro.org>

> ---

>  .gitlab-ci.yml | 11 +++++++++++

>  1 file changed, 11 insertions(+)

>


Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Philippe Mathieu-Daudé April 23, 2021, 10:23 p.m. | #2
On 4/19/21 4:54 PM, Alex Bennée wrote:
> We special case this as the container with the cross compiler for the

> tests takes so long to build it is manually uploaded into the

> registry.

> 

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

> Message-Id: <20210305092328.31792-7-alex.bennee@linaro.org>

> ---

>  .gitlab-ci.yml | 11 +++++++++++

>  1 file changed, 11 insertions(+)


Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Alex Bennée May 11, 2021, 2:41 p.m. | #3
Alex Bennée <alex.bennee@linaro.org> writes:

> We special case this as the container with the cross compiler for the

> tests takes so long to build it is manually uploaded into the

> registry.


Gahh, something changed underneath me with the inclusion of:

  commit 46ef47e2a77d1a34996964760b4a0d2b19476f25
  Author: Taylor Simpson <tsimpson@quicinc.com>
  Date:   Thu Apr 8 20:07:50 2021 -0500

      Hexagon (target/hexagon) circular addressing

Which leads to the compiler complaining:

  hexagon-unknown-linux-musl-clang  -Wno-incompatible-pointer-types -Wno-undefined-internal -fno-unroll-loops -Wall -Werror -O0 -g -fno-strict-aliasing -mv67 -O2 -static /home
  /alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c -o circ  -static
  /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:257:1: error: unknown register name 'cs0' in asm
  TEST_LOAD_IMM(b,  char,           bbuf, NBYTES, 1, d)
  ^
  /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:242:9: note: expanded from macro 'TEST_LOAD_IMM'
          CIRC_LOAD_IMM_##SZ(element, p, BUF, size * sizeof(TYPE), (INC)); \
          ^
  <scratch space>:9:1: note: expanded from here
  CIRC_LOAD_IMM_b
  ^
  /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:75:5: note: expanded from macro 'CIRC_LOAD_IMM_b'
      CIRC_LOAD_IMM(b, RES, ADDR, START, LEN, INC)
      ^
  /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:73:23: note: expanded from macro 'CIRC_LOAD_IMM'
          : "r4", "m0", "cs0")

I suspect the easiest thing to do is to drop the patches again so I
don't hold up the rest of testing/next. I can include the initial docker
image patch but I won't enable it in configure.sh/gitlab.

Would one of the hexagon guys be able to send a new image and verify it
works with the current tests in master?

>

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

> Message-Id: <20210305092328.31792-7-alex.bennee@linaro.org>

> ---

>  .gitlab-ci.yml | 11 +++++++++++

>  1 file changed, 11 insertions(+)

>

> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml

> index 52d65d6c04..87d1172b03 100644

> --- a/.gitlab-ci.yml

> +++ b/.gitlab-ci.yml

> @@ -413,6 +413,17 @@ build-user-static:

>      CONFIGURE_ARGS: --disable-tools --disable-system --static

>      MAKE_CHECK_ARGS: check-tcg

>  

> +# Because the hexagon cross-compiler takes so long to build we don't rely

> +# on the CI system to build it and hence this job has no dependency

> +# declared. The image is manually uploaded.

> +build-user-hexagon:

> +  <<: *native_build_job_definition

> +  variables:

> +    IMAGE: debian-hexagon-cross

> +    TARGETS: hexagon-linux-user

> +    CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg

> +    MAKE_CHECK_ARGS: check-tcg

> +

>  # Only build the softmmu targets we have check-tcg tests for

>  build-some-softmmu:

>    <<: *native_build_job_definition



-- 
Alex Bennée
Brian Cain May 11, 2021, 2:53 p.m. | #4
> -----Original Message-----

> From: Alex Bennée <alex.bennee@linaro.org>

...
> Which leads to the compiler complaining:

> 

>   hexagon-unknown-linux-musl-clang  -Wno-incompatible-pointer-types -

> Wno-undefined-internal -fno-unroll-loops -Wall -Werror -O0 -g -fno-strict-

> aliasing -mv67 -O2 -static /home

>   /alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c -o circ  -static

>   /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:257:1: error:

> unknown register name 'cs0' in asm

>   TEST_LOAD_IMM(b,  char,           bbuf, NBYTES, 1, d)

>   ^

>   /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:242:9: note:

> expanded from macro 'TEST_LOAD_IMM'

>           CIRC_LOAD_IMM_##SZ(element, p, BUF, size * sizeof(TYPE), (INC)); \

>           ^

>   <scratch space>:9:1: note: expanded from here

>   CIRC_LOAD_IMM_b

>   ^

>   /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:75:5: note:

> expanded from macro 'CIRC_LOAD_IMM_b'

>       CIRC_LOAD_IMM(b, RES, ADDR, START, LEN, INC)

>       ^

>   /home/alex.bennee/lsrc/qemu.git/tests/tcg/hexagon/circ.c:73:23: note:

> expanded from macro 'CIRC_LOAD_IMM'

>           : "r4", "m0", "cs0")

> 

> I suspect the easiest thing to do is to drop the patches again so I don't hold up

> the rest of testing/next. I can include the initial docker image patch but I

> won't enable it in configure.sh/gitlab.


Sorry -- I sent along a patch to update the LLVM_SRC_URL so that we would have the support we need for this test case.

> Would one of the hexagon guys be able to send a new image and verify it

> works with the current tests in master?


Sure, can do.  Do I need to update the container registry in gitlab somehow?  Or just share the patch to update the Dockerfile?

> >

> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> > Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

> > Message-Id: <20210305092328.31792-7-alex.bennee@linaro.org>

> > ---

> >  .gitlab-ci.yml | 11 +++++++++++

> >  1 file changed, 11 insertions(+)

> >

> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index

> > 52d65d6c04..87d1172b03 100644

> > --- a/.gitlab-ci.yml

> > +++ b/.gitlab-ci.yml

> > @@ -413,6 +413,17 @@ build-user-static:

> >      CONFIGURE_ARGS: --disable-tools --disable-system --static

> >      MAKE_CHECK_ARGS: check-tcg

> >

> > +# Because the hexagon cross-compiler takes so long to build we don't

> > +rely # on the CI system to build it and hence this job has no

> > +dependency # declared. The image is manually uploaded.

> > +build-user-hexagon:

> > +  <<: *native_build_job_definition

> > +  variables:

> > +    IMAGE: debian-hexagon-cross

> > +    TARGETS: hexagon-linux-user

> > +    CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg

> > +    MAKE_CHECK_ARGS: check-tcg

> > +

> >  # Only build the softmmu targets we have check-tcg tests for

> >  build-some-softmmu:

> >    <<: *native_build_job_definition

> 

> 

> --

> Alex Bennée
Brian Cain May 11, 2021, 3:08 p.m. | #5
> -----Original Message-----

> From: Brian Cain

...
> > I suspect the easiest thing to do is to drop the patches again so I

> > don't hold up the rest of testing/next. I can include the initial

> > docker image patch but I won't enable it in configure.sh/gitlab.

> 

> Sorry -- I sent along a patch to update the LLVM_SRC_URL so that we would

> have the support we need for this test case.

> 

> > Would one of the hexagon guys be able to send a new image and verify

> > it works with the current tests in master?

> 

> Sure, can do.  Do I need to update the container registry in gitlab somehow?

> Or just share the patch to update the Dockerfile?


Reference:

https://www.mail-archive.com/qemu-devel@nongnu.org/msg796850.html

If you want, I can build and push the container.  Not sure I have the right credentials but I think we can sort that out.

-Brian
Alex Bennée May 12, 2021, 7:34 a.m. | #6
Sorted now. I had applied the patch but was running into trouble because
although I'd pushed to the project registry when running on my gitlab
project it was using the personal registry. Will post v3 later today.

On Tue, 11 May 2021, 16:08 Brian Cain, <bcain@quicinc.com> wrote:

> > -----Original Message-----

> > From: Brian Cain

> ...

> > > I suspect the easiest thing to do is to drop the patches again so I

> > > don't hold up the rest of testing/next. I can include the initial

> > > docker image patch but I won't enable it in configure.sh/gitlab.

> >

> > Sorry -- I sent along a patch to update the LLVM_SRC_URL so that we would

> > have the support we need for this test case.

> >

> > > Would one of the hexagon guys be able to send a new image and verify

> > > it works with the current tests in master?

> >

> > Sure, can do.  Do I need to update the container registry in gitlab

> somehow?

> > Or just share the patch to update the Dockerfile?

>

> Reference:

>

> https://www.mail-archive.com/qemu-devel@nongnu.org/msg796850.html

>

> If you want, I can build and push the container.  Not sure I have the

> right credentials but I think we can sort that out.

>

> -Brian

>
<div dir="auto">Sorted now. I had applied the patch but was running into trouble because although I&#39;d pushed to the project registry when running on my gitlab project it was using the personal registry. Will post v3 later today.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 11 May 2021, 16:08 Brian Cain, &lt;<a href="mailto:bcain@quicinc.com">bcain@quicinc.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt; -----Original Message-----<br>
&gt; From: Brian Cain<br>
...<br>
&gt; &gt; I suspect the easiest thing to do is to drop the patches again so I<br>
&gt; &gt; don&#39;t hold up the rest of testing/next. I can include the initial<br>
&gt; &gt; docker image patch but I won&#39;t enable it in <a href="http://configure.sh/gitlab" rel="noreferrer noreferrer" target="_blank">configure.sh/gitlab</a>.<br>
&gt; <br>
&gt; Sorry -- I sent along a patch to update the LLVM_SRC_URL so that we would<br>
&gt; have the support we need for this test case.<br>
&gt; <br>
&gt; &gt; Would one of the hexagon guys be able to send a new image and verify<br>
&gt; &gt; it works with the current tests in master?<br>
&gt; <br>
&gt; Sure, can do.  Do I need to update the container registry in gitlab somehow?<br>
&gt; Or just share the patch to update the Dockerfile?<br>
<br>
Reference:<br>
<br>
<a href="https://www.mail-archive.com/qemu-devel@nongnu.org/msg796850.html" rel="noreferrer noreferrer" target="_blank">https://www.mail-archive.com/qemu-devel@nongnu.org/msg796850.html</a><br>
<br>
If you want, I can build and push the container.  Not sure I have the right credentials but I think we can sort that out.<br>
<br>
-Brian<br>
</blockquote></div>

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 52d65d6c04..87d1172b03 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -413,6 +413,17 @@  build-user-static:
     CONFIGURE_ARGS: --disable-tools --disable-system --static
     MAKE_CHECK_ARGS: check-tcg
 
+# Because the hexagon cross-compiler takes so long to build we don't rely
+# on the CI system to build it and hence this job has no dependency
+# declared. The image is manually uploaded.
+build-user-hexagon:
+  <<: *native_build_job_definition
+  variables:
+    IMAGE: debian-hexagon-cross
+    TARGETS: hexagon-linux-user
+    CONFIGURE_ARGS: --disable-tools --disable-docs --enable-debug-tcg
+    MAKE_CHECK_ARGS: check-tcg
+
 # Only build the softmmu targets we have check-tcg tests for
 build-some-softmmu:
   <<: *native_build_job_definition