qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* hexagon container update
@ 2021-10-01 16:59 Brian Cain
  2021-10-01 17:23 ` Richard Henderson
  0 siblings, 1 reply; 10+ messages in thread
From: Brian Cain @ 2021-10-01 16:59 UTC (permalink / raw)
  To: Alex Bennée, qemu-devel; +Cc: Taylor Simpson

Alex,

We need to update the docker container used for hexagon for new test cases proposed in Taylor's recent patch series under review.  Thankfully, CodeLinaro has provided a binary of the hexagon cross toolchain so now I think we can simplify the hexagon docker file to something like the below.  I hope this also means that we can remove the exceptional handling for the hexagon container.

I can propose a patch but I'm not quite certain how to test it.

The "--no-check-certificate" argument to wget is very bad but I'm not quite certain how to upgrade/change the container's certificate store to accept the apparently-legit-but-perhaps-newer-than-expected certificate presented by codelinaro.jfrog.io.

~~~

FROM qemu/debian10

RUN apt update && \
        DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
        DEBIAN_FRONTEND=noninteractive eatmydata \
        apt install -y --no-install-recommends \
        xz-utils \
        wget

ENV CLANG_URL https://codelinaro.jfrog.io/artifactory/codelinaro-toolchain-for-hexagon/v2021.09.10/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz

RUN cd /tmp && \
    wget --quiet --no-check-certificate ${CLANG_URL}
RUN cd /opt && \
    tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hexagon container update
  2021-10-01 16:59 hexagon container update Brian Cain
@ 2021-10-01 17:23 ` Richard Henderson
  2021-10-01 17:59   ` Brian Cain
  0 siblings, 1 reply; 10+ messages in thread
From: Richard Henderson @ 2021-10-01 17:23 UTC (permalink / raw)
  To: Brian Cain, Alex Bennée, qemu-devel; +Cc: Taylor Simpson

On 10/1/21 12:59 PM, Brian Cain wrote:
> Alex,
> 
> We need to update the docker container used for hexagon for new test cases proposed in Taylor's recent patch series under review.  Thankfully, CodeLinaro has provided a binary of the hexagon cross toolchain so now I think we can simplify the hexagon docker file to something like the below.  I hope this also means that we can remove the exceptional handling for the hexagon container.
> 
> I can propose a patch but I'm not quite certain how to test it.

make docker-image-debian-hexagon-cross NOCACHE=1 V=1

and then make check-tcg to use the new image.

> 
> The "--no-check-certificate" argument to wget is very bad but I'm not quite certain how to upgrade/change the container's certificate store to accept the apparently-legit-but-perhaps-newer-than-expected certificate presented by codelinaro.jfrog.io.

Hum.  This all suggests that it would be better to update the build-toolchain script.

> RUN cd /tmp && \
>      wget --quiet --no-check-certificate ${CLANG_URL}
> RUN cd /opt && \
>      tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz

You'd want to remove the tarball as well.


r~


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: hexagon container update
  2021-10-01 17:23 ` Richard Henderson
@ 2021-10-01 17:59   ` Brian Cain
  2021-10-01 21:44     ` Alex Bennée
                       ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Brian Cain @ 2021-10-01 17:59 UTC (permalink / raw)
  To: Richard Henderson, Alex Bennée, qemu-devel; +Cc: Taylor Simpson

> -----Original Message-----
> From: Richard Henderson <richard.henderson@linaro.org>
...
> On 10/1/21 12:59 PM, Brian Cain wrote:
> > Alex,
> >
> > We need to update the docker container used for hexagon for new test cases
> proposed in Taylor's recent patch series under review.  Thankfully, CodeLinaro
> has provided a binary of the hexagon cross toolchain so now I think we can
> simplify the hexagon docker file to something like the below.  I hope this also
> means that we can remove the exceptional handling for the hexagon container.
> >
> > I can propose a patch but I'm not quite certain how to test it.
> 
> make docker-image-debian-hexagon-cross NOCACHE=1 V=1
> 
> and then make check-tcg to use the new image.

Ok -- so the intent of the NOCACHE is that it will force the use of my newly modified Dockerfile and not the one in the qemu container repository?

> > The "--no-check-certificate" argument to wget is very bad but I'm not quite
> certain how to upgrade/change the container's certificate store to accept the
> apparently-legit-but-perhaps-newer-than-expected certificate presented by
> codelinaro.jfrog.io.
> 
> Hum.  This all suggests that it would be better to update the build-toolchain
> script.

If there's any trust concerns we can verify the download in the dockerfile using the hash file for the tarball and/or the gpg signature.

The build-toolchain is a bit of a hassle given the processing time, it'd be great to avoid it.  If the hash or signature check doesn't suffice I will investigate how to update debian10's signatures.  Are we bound to debian10 for all the containers?  If using a different basis was effective at resolving this issue, could I select a different one?

> > RUN cd /tmp && \
> >      wget --quiet --no-check-certificate ${CLANG_URL}
> > RUN cd /opt && \
> >      tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-
> musl.tar.xz
> 
> You'd want to remove the tarball as well.

Yes, good point.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: hexagon container update
  2021-10-01 17:59   ` Brian Cain
@ 2021-10-01 21:44     ` Alex Bennée
  2021-10-02  0:22     ` Brian Cain
  2021-10-02 13:09     ` Richard Henderson
  2 siblings, 0 replies; 10+ messages in thread
From: Alex Bennée @ 2021-10-01 21:44 UTC (permalink / raw)
  To: Brian Cain; +Cc: Taylor Simpson, Richard Henderson, QEMU Developers

[-- Attachment #1: Type: text/plain, Size: 2246 bytes --]

On Fri, 1 Oct 2021, 18:59 Brian Cain, <bcain@quicinc.com> wrote:

> > -----Original Message-----
> > From: Richard Henderson <richard.henderson@linaro.org>
> ...
> > On 10/1/21 12:59 PM, Brian Cain wrote:
> > > Alex,
> > >
> > > We need to update the docker container used for hexagon for new test
> cases
> > proposed in Taylor's recent patch series under review.  Thankfully,
> CodeLinaro
> > has provided a binary of the hexagon cross toolchain so now I think we
> can
> > simplify the hexagon docker file to something like the below.  I hope
> this also
> > means that we can remove the exceptional handling for the hexagon
> container.
> > >
> > > I can propose a patch but I'm not quite certain how to test it.
> >
> > make docker-image-debian-hexagon-cross NOCACHE=1 V=1
> >
> > and then make check-tcg to use the new image.
>
> Ok -- so the intent of the NOCACHE is that it will force the use of my
> newly modified Dockerfile and not the one in the qemu container repository?
>
> > > The "--no-check-certificate" argument to wget is very bad but I'm not
> quite
> > certain how to upgrade/change the container's certificate store to
> accept the
> > apparently-legit-but-perhaps-newer-than-expected certificate presented by
> > codelinaro.jfrog.io.
> >
> > Hum.  This all suggests that it would be better to update the
> build-toolchain
> > script.
>
> If there's any trust concerns we can verify the download in the dockerfile
> using the hash file for the tarball and/or the gpg signature.
>
> The build-toolchain is a bit of a hassle given the processing time, it'd
> be great to avoid it.  If the hash or signature check doesn't suffice I
> will investigate how to update debian10's signatures.  Are we bound to
> debian10 for all the containers?  If using a different basis was effective
> at resolving this issue, could I select a different one?
>

Sure, debian11 is now stable. We try and avoid rolling releases as a base
but the latest debian should be fine.


> > > RUN cd /tmp && \
> > >      wget --quiet --no-check-certificate ${CLANG_URL}
> > > RUN cd /opt && \
> > >      tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-
> > musl.tar.xz
> >
> > You'd want to remove the tarball as well.
>
> Yes, good point.
>

[-- Attachment #2: Type: text/html, Size: 3231 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: hexagon container update
  2021-10-01 17:59   ` Brian Cain
  2021-10-01 21:44     ` Alex Bennée
@ 2021-10-02  0:22     ` Brian Cain
  2022-01-15  3:36       ` Brian Cain
  2021-10-02 13:09     ` Richard Henderson
  2 siblings, 1 reply; 10+ messages in thread
From: Brian Cain @ 2021-10-02  0:22 UTC (permalink / raw)
  To: Richard Henderson, Alex Bennée, qemu-devel; +Cc: Taylor Simpson

[-- Attachment #1: Type: text/plain, Size: 5033 bytes --]

> -----Original Message-----
> From: Brian Cain
...
> > -----Original Message-----
> > From: Richard Henderson <richard.henderson@linaro.org>
> ...
> > On 10/1/21 12:59 PM, Brian Cain wrote:
> > > Alex,
> > >
> > > We need to update the docker container used for hexagon for new test
> cases
> > proposed in Taylor's recent patch series under review.  Thankfully,
> CodeLinaro
> > has provided a binary of the hexagon cross toolchain so now I think we can
> > simplify the hexagon docker file to something like the below.  I hope this also
> > means that we can remove the exceptional handling for the hexagon
> container.
> > >
> > > I can propose a patch but I'm not quite certain how to test it.
> >
> > make docker-image-debian-hexagon-cross NOCACHE=1 V=1
> >
> > and then make check-tcg to use the new image.
> 
> Ok -- so the intent of the NOCACHE is that it will force the use of my newly
> modified Dockerfile and not the one in the qemu container repository?

Ok, I did this.  It succeeded but I don't know how to connect the dots to verify that I was indeed using the new container.

Below is an excerpt of what I saw when I did the build of the attached patch.  And also attached is the subsequent check-tcg (which succeeded).

~~~~~~~~~~~~~~
....
  wget
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 902 kB of archives.
After this operation, 3335 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian buster/main amd64 wget amd64 1.20.1-1.1 [902 kB]
Fetched 902 kB in 0s (6882 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package wget.
(Reading database ... 31442 files and directories currently installed.)
Preparing to unpack .../wget_1.20.1-1.1_amd64.deb ...
Unpacking wget (1.20.1-1.1) ...
Setting up wget (1.20.1-1.1) ...
Processing triggers for man-db (2.8.5-2) ...
5f9c7fa86eccc67cd728c0abb7b9594a07d1b1352cef34071fe4e6b64b1490a0
STEP 3: ENV TOOLCHAIN_INSTALL /usr/local
1ab2399cec0fb86c7dc9dc285624fb9ac3ab8c3003771019adeb119340e447fa
STEP 4: ENV ROOTFS /usr/local
43d148dd8c05e2e15cff0a17c2ad4eabd787f8d510a88750068baa300b396d4c
STEP 5: ENV CLANG_URL https://codelinaro.jfrog.io/artifactory/codelinaro-toolchain-for-hexagon/v2021.09.10/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz
509096591e3bac18547a0920e607568b83d451f729e855f23b3a2e99fc7a909f
STEP 6: RUN cd /tmp &&     wget --quiet ${CLANG_URL} &&     cd ${TOOLCHAIN_INSTALL} &&     tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz &&     rm     /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz
9dee02ab62a00f1d01dd67d6d2feb79756a2a6d87522939ae65fc78dc2188b41
STEP 7: LABEL com.qemu.dockerfile-checksum=c0890fe4ecc53a1d1d03e57bc44db32033c7aa75
a6127bcadaf0a1a50323e091400351046fc86ccf732189df2537ab119abdeec8
STEP 8: LABEL com.qemu./home/brian/src/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker.d/build-toolchain.sh-checksum=a032ac0a66c02f586b1c1d9476c6d4cced9f8d1a
STEP 9: COMMIT qemu/debian-hexagon-cross
2acafd2af1be90a2491fcf6445a64674d1fd7b146c1487d6784942145e7f3d65


$ podman image ls|grep hexagon-cross
localhost/qemu/debian-hexagon-cross                                  latest                 81492ed2e4c1   4 months ago        3.3 GB
registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross      latest                 81492ed2e4c1   4 months ago        3.3 GB
localhost/qemu                                                       debian-hexagon-cross   779040354471   14 months ago       2.32 GB

$ podman image ls|head
REPOSITORY                                                           TAG                    IMAGE ID       CREATED             SIZE
<none>                                                               <none>                 ca368e4baacb   About an hour ago   3.3 GB
<none>                                                               <none>                 f67f015ae642   About an hour ago   3.3 GB
<none>                                                               <none>                 823263f1f065   About an hour ago   3.3 GB
<none>                                                               <none>                 2acafd2af1be   About an hour ago   2.56 GB
~~~~~~~~~

> > > The "--no-check-certificate" argument to wget is very bad but I'm not quite
> > certain how to upgrade/change the container's certificate store to accept the
> > apparently-legit-but-perhaps-newer-than-expected certificate presented by
> > codelinaro.jfrog.io.
> >
> > Hum.  This all suggests that it would be better to update the build-toolchain
> > script.
> 
> If there's any trust concerns we can verify the download in the dockerfile using
> the hash file for the tarball and/or the gpg signature.

This looks like it's moot, maybe due to some system or proxy [mis]configuration.  I moved to another system and didn't encounter the certificate issue.



[-- Attachment #2: check_tcg.log --]
[-- Type: application/octet-stream, Size: 26538 bytes --]

(GIT="git" "/home/brian/src/qemu/scripts/git-submodule.sh" update ui/keycodemapdb meson tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc capstone slirp)
/home/brian/src/qemu/tests/docker/docker.py --engine auto fetch  qemu/debian-hexagon-cross registry.gitlab.com/qemu-project/qemu  /home/brian/src/qemu/tests/docker/docker.py --engine auto update  qemu/debian-hexagon-cross --add-current-user
Trying to pull registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross...
Getting image source signatures
Copying blob sha256:aacd878fd72109aede158214a568c2f2eb9ac3c130bdd68865a49393d5074ec8
Copying blob sha256:6f28985ad1843afd6fd4fe0b42a30bfab63c27d302362e7341e3316e8ba25ced
Copying blob sha256:1234ab42b7428097156a02f0d859ef255be88d99500a2fdc23b95525da282ef2
Copying blob sha256:cc6db3b7c54c6cebed41bf70b8d4bc30c0e76e08becc8e83014fdcd0ce7381e3
Copying config sha256:81492ed2e4c1c0fb68616caf925e5537e1a77c38d327ae7e7cc812ed5ea46e76
Writing manifest to image destination
Storing signatures
81492ed2e4c1c0fb68616caf925e5537e1a77c38d327ae7e7cc812ed5ea46e76
make  -f /home/brian/src/qemu/tests/tcg/Makefile.qemu SRC_PATH=/home/brian/src/qemu V="1" TARGET="hexagon-linux-user" guest-tests
make[1]: Entering directory '/home/brian/src/qemu/build_hex'
/home/brian/src/qemu/tests/docker/docker.py --engine auto fetch  qemu/debian-hexagon-cross registry.gitlab.com/qemu-project/qemu  /home/brian/src/qemu/tests/docker/docker.py --engine auto update  qemu/debian-hexagon-cross --add-current-user
Trying to pull registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross...
Getting image source signatures
Copying blob sha256:aacd878fd72109aede158214a568c2f2eb9ac3c130bdd68865a49393d5074ec8
Copying blob sha256:6f28985ad1843afd6fd4fe0b42a30bfab63c27d302362e7341e3316e8ba25ced
Copying blob sha256:1234ab42b7428097156a02f0d859ef255be88d99500a2fdc23b95525da282ef2
Copying blob sha256:cc6db3b7c54c6cebed41bf70b8d4bc30c0e76e08becc8e83014fdcd0ce7381e3
Copying config sha256:81492ed2e4c1c0fb68616caf925e5537e1a77c38d327ae7e7cc812ed5ea46e76
Writing manifest to image destination
Storing signatures
81492ed2e4c1c0fb68616caf925e5537e1a77c38d327ae7e7cc812ed5ea46e76
(mkdir -p tests/tcg/hexagon-linux-user && cd tests/tcg/hexagon-linux-user && make -f ../Makefile.target TARGET="hexagon-linux-user" CC="/home/brian/src/qemu/tests/docker/docker.py --engine auto cc --cc hexagon-unknown-linux-musl-clang -i qemu/debian-hexagon-cross -s /home/brian/src/qemu -- "   SRC_PATH="/home/brian/src/qemu" BUILD_STATIC=y EXTRA_CFLAGS="-mv67 -O2 -static")
make[2]: Entering directory '/home/brian/src/qemu/build_hex/tests/tcg/hexagon-linux-user'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/brian/src/qemu/build_hex/tests/tcg/hexagon-linux-user'
make[1]: Leaving directory '/home/brian/src/qemu/build_hex'
make  -f /home/brian/src/qemu/tests/tcg/Makefile.qemu SRC_PATH=/home/brian/src/qemu SPEED="quick" V="1" TARGET="hexagon-linux-user" run-guest-tests
make[1]: Entering directory '/home/brian/src/qemu/build_hex'
/home/brian/src/qemu/tests/docker/docker.py --engine auto fetch  qemu/debian-hexagon-cross registry.gitlab.com/qemu-project/qemu  /home/brian/src/qemu/tests/docker/docker.py --engine auto update  qemu/debian-hexagon-cross --add-current-user
Trying to pull registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross...
Getting image source signatures
Copying blob sha256:aacd878fd72109aede158214a568c2f2eb9ac3c130bdd68865a49393d5074ec8
Copying blob sha256:6f28985ad1843afd6fd4fe0b42a30bfab63c27d302362e7341e3316e8ba25ced
Copying blob sha256:1234ab42b7428097156a02f0d859ef255be88d99500a2fdc23b95525da282ef2
Copying blob sha256:cc6db3b7c54c6cebed41bf70b8d4bc30c0e76e08becc8e83014fdcd0ce7381e3
Copying config sha256:81492ed2e4c1c0fb68616caf925e5537e1a77c38d327ae7e7cc812ed5ea46e76
Writing manifest to image destination
Storing signatures
81492ed2e4c1c0fb68616caf925e5537e1a77c38d327ae7e7cc812ed5ea46e76
(mkdir -p tests/tcg/hexagon-linux-user && cd tests/tcg/hexagon-linux-user && make -f ../Makefile.target TARGET="hexagon-linux-user" CC="/home/brian/src/qemu/tests/docker/docker.py --engine auto cc --cc hexagon-unknown-linux-musl-clang -i qemu/debian-hexagon-cross -s /home/brian/src/qemu -- "   SRC_PATH="/home/brian/src/qemu" BUILD_STATIC=y EXTRA_CFLAGS="-mv67 -O2 -static")
make[2]: Entering directory '/home/brian/src/qemu/build_hex/tests/tcg/hexagon-linux-user'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/brian/src/qemu/build_hex/tests/tcg/hexagon-linux-user'
(cd tests/tcg/hexagon-linux-user && make -f ../Makefile.target TARGET="hexagon-linux-user" SRC_PATH="/home/brian/src/qemu" SPEED=quick run)
make[2]: Entering directory '/home/brian/src/qemu/build_hex/tests/tcg/hexagon-linux-user'
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  threadcount >  threadcount.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  float_convs > float_convs.out
diff -q float_convs.out /home/brian/src/qemu/tests/tcg/hexagon/float_convs.ref || (diff -u float_convs.out /home/brian/src/qemu/tests/tcg/hexagon/float_convs.ref | head -n 10 && false)
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon test-mmap >  test-mmap.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  sha1 >  sha1.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  linux-test >  linux-test.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  testthread >  testthread.out
  SKIPPED signals on hexagon because BROKEN awaiting sigframe clean-ups and vdso support
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  float_madds > float_madds.out
diff -q float_madds.out /home/brian/src/qemu/tests/tcg/hexagon/float_madds.ref || (diff -u float_madds.out /home/brian/src/qemu/tests/tcg/hexagon/float_madds.ref | head -n 10 && false)
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  first >  first.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  misc >  misc.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  preg_alias >  preg_alias.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  dual_stores >  dual_stores.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  multi_result >  multi_result.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  mem_noshuf >  mem_noshuf.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  circ >  circ.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  brev >  brev.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  load_unpack >  load_unpack.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  load_align >  load_align.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  atomics >  atomics.out
timeout --foreground 15  /home/brian/src/qemu/build_hex/qemu-hexagon  fpstuff >  fpstuff.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D threadcount-with-libsyscall.so.pout threadcount >  run-plugin-threadcount-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D float_convs-with-libsyscall.so.pout float_convs >  run-plugin-float_convs-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D test-mmap-with-libsyscall.so.pout test-mmap >  run-plugin-test-mmap-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D sha1-with-libsyscall.so.pout sha1 >  run-plugin-sha1-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D linux-test-with-libsyscall.so.pout linux-test >  run-plugin-linux-test-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D testthread-with-libsyscall.so.pout testthread >  run-plugin-testthread-with-libsyscall.so.out
  SKIPPED signals on hexagon because BROKEN awaiting sigframe clean-ups and vdso support
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D float_madds-with-libsyscall.so.pout float_madds >  run-plugin-float_madds-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D first-with-libsyscall.so.pout first >  run-plugin-first-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D misc-with-libsyscall.so.pout misc >  run-plugin-misc-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D preg_alias-with-libsyscall.so.pout preg_alias >  run-plugin-preg_alias-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D dual_stores-with-libsyscall.so.pout dual_stores >  run-plugin-dual_stores-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D multi_result-with-libsyscall.so.pout multi_result >  run-plugin-multi_result-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D mem_noshuf-with-libsyscall.so.pout mem_noshuf >  run-plugin-mem_noshuf-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D circ-with-libsyscall.so.pout circ >  run-plugin-circ-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D brev-with-libsyscall.so.pout brev >  run-plugin-brev-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D load_unpack-with-libsyscall.so.pout load_unpack >  run-plugin-load_unpack-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D load_align-with-libsyscall.so.pout load_align >  run-plugin-load_align-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D atomics-with-libsyscall.so.pout atomics >  run-plugin-atomics-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libsyscall.so -d plugin -D fpstuff-with-libsyscall.so.pout fpstuff >  run-plugin-fpstuff-with-libsyscall.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D threadcount-with-libmem.so.pout threadcount >  run-plugin-threadcount-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D float_convs-with-libmem.so.pout float_convs >  run-plugin-float_convs-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D test-mmap-with-libmem.so.pout test-mmap >  run-plugin-test-mmap-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D sha1-with-libmem.so.pout sha1 >  run-plugin-sha1-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D linux-test-with-libmem.so.pout linux-test >  run-plugin-linux-test-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D testthread-with-libmem.so.pout testthread >  run-plugin-testthread-with-libmem.so.out
  SKIPPED signals on hexagon because BROKEN awaiting sigframe clean-ups and vdso support
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D float_madds-with-libmem.so.pout float_madds >  run-plugin-float_madds-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D first-with-libmem.so.pout first >  run-plugin-first-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D misc-with-libmem.so.pout misc >  run-plugin-misc-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D preg_alias-with-libmem.so.pout preg_alias >  run-plugin-preg_alias-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D dual_stores-with-libmem.so.pout dual_stores >  run-plugin-dual_stores-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D multi_result-with-libmem.so.pout multi_result >  run-plugin-multi_result-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D mem_noshuf-with-libmem.so.pout mem_noshuf >  run-plugin-mem_noshuf-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D circ-with-libmem.so.pout circ >  run-plugin-circ-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D brev-with-libmem.so.pout brev >  run-plugin-brev-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D load_unpack-with-libmem.so.pout load_unpack >  run-plugin-load_unpack-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D load_align-with-libmem.so.pout load_align >  run-plugin-load_align-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D atomics-with-libmem.so.pout atomics >  run-plugin-atomics-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libmem.so -d plugin -D fpstuff-with-libmem.so.pout fpstuff >  run-plugin-fpstuff-with-libmem.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D threadcount-with-libbb.so.pout threadcount >  run-plugin-threadcount-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D float_convs-with-libbb.so.pout float_convs >  run-plugin-float_convs-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D test-mmap-with-libbb.so.pout test-mmap >  run-plugin-test-mmap-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D sha1-with-libbb.so.pout sha1 >  run-plugin-sha1-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D linux-test-with-libbb.so.pout linux-test >  run-plugin-linux-test-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D testthread-with-libbb.so.pout testthread >  run-plugin-testthread-with-libbb.so.out
  SKIPPED signals on hexagon because BROKEN awaiting sigframe clean-ups and vdso support
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D float_madds-with-libbb.so.pout float_madds >  run-plugin-float_madds-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D first-with-libbb.so.pout first >  run-plugin-first-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D misc-with-libbb.so.pout misc >  run-plugin-misc-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D preg_alias-with-libbb.so.pout preg_alias >  run-plugin-preg_alias-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D dual_stores-with-libbb.so.pout dual_stores >  run-plugin-dual_stores-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D multi_result-with-libbb.so.pout multi_result >  run-plugin-multi_result-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D mem_noshuf-with-libbb.so.pout mem_noshuf >  run-plugin-mem_noshuf-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D circ-with-libbb.so.pout circ >  run-plugin-circ-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D brev-with-libbb.so.pout brev >  run-plugin-brev-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D load_unpack-with-libbb.so.pout load_unpack >  run-plugin-load_unpack-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D load_align-with-libbb.so.pout load_align >  run-plugin-load_align-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D atomics-with-libbb.so.pout atomics >  run-plugin-atomics-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libbb.so -d plugin -D fpstuff-with-libbb.so.pout fpstuff >  run-plugin-fpstuff-with-libbb.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D threadcount-with-libinsn.so.pout threadcount >  run-plugin-threadcount-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D float_convs-with-libinsn.so.pout float_convs >  run-plugin-float_convs-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D test-mmap-with-libinsn.so.pout test-mmap >  run-plugin-test-mmap-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D sha1-with-libinsn.so.pout sha1 >  run-plugin-sha1-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D linux-test-with-libinsn.so.pout linux-test >  run-plugin-linux-test-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D testthread-with-libinsn.so.pout testthread >  run-plugin-testthread-with-libinsn.so.out
  SKIPPED signals on hexagon because BROKEN awaiting sigframe clean-ups and vdso support
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D float_madds-with-libinsn.so.pout float_madds >  run-plugin-float_madds-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D first-with-libinsn.so.pout first >  run-plugin-first-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D misc-with-libinsn.so.pout misc >  run-plugin-misc-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D preg_alias-with-libinsn.so.pout preg_alias >  run-plugin-preg_alias-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D dual_stores-with-libinsn.so.pout dual_stores >  run-plugin-dual_stores-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D multi_result-with-libinsn.so.pout multi_result >  run-plugin-multi_result-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D mem_noshuf-with-libinsn.so.pout mem_noshuf >  run-plugin-mem_noshuf-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D circ-with-libinsn.so.pout circ >  run-plugin-circ-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D brev-with-libinsn.so.pout brev >  run-plugin-brev-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D load_unpack-with-libinsn.so.pout load_unpack >  run-plugin-load_unpack-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D load_align-with-libinsn.so.pout load_align >  run-plugin-load_align-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D atomics-with-libinsn.so.pout atomics >  run-plugin-atomics-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libinsn.so -d plugin -D fpstuff-with-libinsn.so.pout fpstuff >  run-plugin-fpstuff-with-libinsn.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D threadcount-with-libempty.so.pout threadcount >  run-plugin-threadcount-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D float_convs-with-libempty.so.pout float_convs >  run-plugin-float_convs-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D test-mmap-with-libempty.so.pout test-mmap >  run-plugin-test-mmap-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D sha1-with-libempty.so.pout sha1 >  run-plugin-sha1-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D linux-test-with-libempty.so.pout linux-test >  run-plugin-linux-test-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D testthread-with-libempty.so.pout testthread >  run-plugin-testthread-with-libempty.so.out
  SKIPPED signals on hexagon because BROKEN awaiting sigframe clean-ups and vdso support
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D float_madds-with-libempty.so.pout float_madds >  run-plugin-float_madds-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D first-with-libempty.so.pout first >  run-plugin-first-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D misc-with-libempty.so.pout misc >  run-plugin-misc-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D preg_alias-with-libempty.so.pout preg_alias >  run-plugin-preg_alias-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D dual_stores-with-libempty.so.pout dual_stores >  run-plugin-dual_stores-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D multi_result-with-libempty.so.pout multi_result >  run-plugin-multi_result-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D mem_noshuf-with-libempty.so.pout mem_noshuf >  run-plugin-mem_noshuf-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D circ-with-libempty.so.pout circ >  run-plugin-circ-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D brev-with-libempty.so.pout brev >  run-plugin-brev-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D load_unpack-with-libempty.so.pout load_unpack >  run-plugin-load_unpack-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D load_align-with-libempty.so.pout load_align >  run-plugin-load_align-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D atomics-with-libempty.so.pout atomics >  run-plugin-atomics-with-libempty.so.out
timeout --foreground 60  /home/brian/src/qemu/build_hex/qemu-hexagon  -plugin ../../plugin/libempty.so -d plugin -D fpstuff-with-libempty.so.pout fpstuff >  run-plugin-fpstuff-with-libempty.so.out
make[2]: Leaving directory '/home/brian/src/qemu/build_hex/tests/tcg/hexagon-linux-user'
make[1]: Leaving directory '/home/brian/src/qemu/build_hex'

[-- Attachment #3: 0001-Hexagon-cross-tools-docker-image-update.patch --]
[-- Type: application/octet-stream, Size: 2663 bytes --]

From 5b3adbf50545b49b66dcecdef85245888548dcd4 Mon Sep 17 00:00:00 2001
From: Brian Cain <brian.cain@gmail.com>
Date: Fri, 1 Oct 2021 19:13:10 -0500
Subject: [PATCH] [Hexagon] cross tools docker image update

Update to a newer cross toolchain for hexagon.

Signed-off-by: Brian Cain <bcain@quicinc.com>
---
 .../dockerfiles/debian-hexagon-cross.docker   | 38 ++++++-------------
 1 file changed, 11 insertions(+), 27 deletions(-)

diff --git a/tests/docker/dockerfiles/debian-hexagon-cross.docker b/tests/docker/dockerfiles/debian-hexagon-cross.docker
index d5dc299dc1..37d21e13f7 100644
--- a/tests/docker/dockerfiles/debian-hexagon-cross.docker
+++ b/tests/docker/dockerfiles/debian-hexagon-cross.docker
@@ -9,37 +9,21 @@
 #
 FROM qemu/debian10
 
-# Install common build utilities
+
 RUN apt update && \
-    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt install -y --no-install-recommends \
-        bison \
-        cmake \
-        flex \
-        lld \
-        rsync \
+        DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
+        DEBIAN_FRONTEND=noninteractive eatmydata \
+        apt install -y --no-install-recommends \
+        xz-utils \
         wget
 
 ENV TOOLCHAIN_INSTALL /usr/local
 ENV ROOTFS /usr/local
+ENV CLANG_URL https://codelinaro.jfrog.io/artifactory/codelinaro-toolchain-for-hexagon/v2021.09.10/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz
 
-ENV LLVM_URL https://github.com/llvm/llvm-project/archive/bfcd21876adc3498065e4da92799f613e730d475.tar.gz
-ENV MUSL_URL https://github.com/quic/musl/archive/aff74b395fbf59cd7e93b3691905aa1af6c0778c.tar.gz
-ENV LINUX_URL https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.18.tar.xz
-
-ADD build-toolchain.sh /root/hexagon-toolchain/build-toolchain.sh
+RUN cd /tmp && \
+    wget --quiet ${CLANG_URL} && \
+    cd ${TOOLCHAIN_INSTALL} && \
+    tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz && \
+    rm     /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz
 
-RUN cd /root/hexagon-toolchain && ./build-toolchain.sh
-
-FROM debian:buster-slim
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
-# Install QEMU build deps for use in CI
-RUN apt update && \
-    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
-    DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy git ninja-build && \
-    DEBIAN_FRONTEND=noninteractive eatmydata \
-    apt build-dep -yy --arch-only qemu
-COPY --from=0 /usr/local /usr/local
-ENV PATH $PATH:/usr/local/bin/
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: hexagon container update
  2021-10-01 17:59   ` Brian Cain
  2021-10-01 21:44     ` Alex Bennée
  2021-10-02  0:22     ` Brian Cain
@ 2021-10-02 13:09     ` Richard Henderson
  2 siblings, 0 replies; 10+ messages in thread
From: Richard Henderson @ 2021-10-02 13:09 UTC (permalink / raw)
  To: Brian Cain, Alex Bennée, qemu-devel; +Cc: Taylor Simpson

On 10/1/21 1:59 PM, Brian Cain wrote:
> If there's any trust concerns we can verify the download in the dockerfile using the hash file for the tarball and/or the gpg signature.

That's true, I should have thought of that.


r~


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: hexagon container update
  2021-10-02  0:22     ` Brian Cain
@ 2022-01-15  3:36       ` Brian Cain
  2022-01-17 14:47         ` Alex Bennée
  0 siblings, 1 reply; 10+ messages in thread
From: Brian Cain @ 2022-01-15  3:36 UTC (permalink / raw)
  To: Richard Henderson, Alex Bennée, qemu-devel; +Cc: Taylor Simpson

[-- Attachment #1: Type: text/plain, Size: 1700 bytes --]

> -----Original Message-----
> From: Brian Cain
> Sent: Friday, October 1, 2021 7:23 PM
> To: Richard Henderson <richard.henderson@linaro.org>; Alex Bennée
> <alex.bennee@linaro.org>; qemu-devel@nongnu.org
> Cc: Taylor Simpson <tsimpson@quicinc.com>
> Subject: RE: hexagon container update
> 
> > -----Original Message-----
> > From: Brian Cain
> ...
> > > -----Original Message-----
> > > From: Richard Henderson <richard.henderson@linaro.org>
> > ...
> > > On 10/1/21 12:59 PM, Brian Cain wrote:
> > > > Alex,
> > > >
> > > > We need to update the docker container used for hexagon for new test
> > cases
> > > proposed in Taylor's recent patch series under review.  Thankfully,
> > CodeLinaro
> > > has provided a binary of the hexagon cross toolchain so now I think we can
> > > simplify the hexagon docker file to something like the below.  I hope this
> also
> > > means that we can remove the exceptional handling for the hexagon
> > container.

We had some issues with the previous attempt to update the container.  The linux-user "signals" test failed.  Richard pointed out that the archive of the C library had what looks like a defect that would cause the test to fail.

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

I'm following up now with a workaround - the attached patch references a toolchain which avoids the problem and passes the signals test.  This toolchain is based on llvm+clang 13.0.1-rc2.  BTW, the release page has a signature provided in case anyone wants to verify the download: https://github.com/quic/toolchain_for_hexagon/releases/tag/13.0.1-rc2_

Can we try again with this new container definition?

-Brian

[-- Attachment #2: 0001-Update-Hexagon-toolchain-to-13.0.1-rc2.patch --]
[-- Type: application/octet-stream, Size: 2200 bytes --]

From 7dfcd9b7e827bc77ba1569fe4a11a789b4873f23 Mon Sep 17 00:00:00 2001
From: Brian Cain <bcain@quicinc.com>
Date: Fri, 14 Jan 2022 16:08:23 -0800
Subject: [PATCH] Update Hexagon toolchain to 13.0.1-rc2

This commit modifies the Hexagon cross container to download instead of
building the toolchain.  Also, we update to a newer build of the toolchain.

13.0.1-rc2 should be sufficient for validation and if all goes well, we
can switch to 13.0.1 before merging this commit.

Signed-off-by: Brian Cain <bcain@quicinc.com>
---
 tests/docker/dockerfiles/debian-hexagon-cross.docker | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/tests/docker/dockerfiles/debian-hexagon-cross.docker b/tests/docker/dockerfiles/debian-hexagon-cross.docker
index 37d21e13f7..37e05e94bd 100644
--- a/tests/docker/dockerfiles/debian-hexagon-cross.docker
+++ b/tests/docker/dockerfiles/debian-hexagon-cross.docker
@@ -1,11 +1,7 @@
 #
 # Docker Hexagon cross-compiler target
 #
-# This docker target is used for building hexagon tests. As it also
-# needs to be able to build QEMU itself in CI we include it's
-# build-deps. It is also a "stand-alone" image so as not to be
-# triggered by re-builds on other base images given it takes a long
-# time to build.
+# This docker target is used for building hexagon tests.
 #
 FROM qemu/debian10
 
@@ -19,11 +15,11 @@ RUN apt update && \
 
 ENV TOOLCHAIN_INSTALL /usr/local
 ENV ROOTFS /usr/local
-ENV CLANG_URL https://codelinaro.jfrog.io/artifactory/codelinaro-toolchain-for-hexagon/v2021.09.10/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz
+ENV CLANG_URL https://codelinaro.jfrog.io/artifactory/codelinaro-toolchain-for-hexagon/13.0.1-rc2_/clang+llvm-13.0.1-rc2-cross-hexagon-unknown-linux-musl.tar.xz
 
 RUN cd /tmp && \
     wget --quiet ${CLANG_URL} && \
     cd ${TOOLCHAIN_INSTALL} && \
-    tar xf /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz && \
-    rm     /tmp/clang+llvm-Sept-2021-cross-hexagon-unknown-linux-musl.tar.xz
+    tar xf /tmp/clang+llvm-13.0.1-rc2-cross-hexagon-unknown-linux-musl.tar.xz && \
+    rm     /tmp/clang+llvm-13.0.1-rc2-cross-hexagon-unknown-linux-musl.tar.xz
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: hexagon container update
  2022-01-15  3:36       ` Brian Cain
@ 2022-01-17 14:47         ` Alex Bennée
  2022-01-18 15:25           ` Brian Cain
  0 siblings, 1 reply; 10+ messages in thread
From: Alex Bennée @ 2022-01-17 14:47 UTC (permalink / raw)
  To: Brian Cain; +Cc: Taylor Simpson, Richard Henderson, qemu-devel


Brian Cain <bcain@quicinc.com> writes:

>> -----Original Message-----
>> From: Brian Cain
>> Sent: Friday, October 1, 2021 7:23 PM
>> To: Richard Henderson <richard.henderson@linaro.org>; Alex Bennée
>> <alex.bennee@linaro.org>; qemu-devel@nongnu.org
>> Cc: Taylor Simpson <tsimpson@quicinc.com>
>> Subject: RE: hexagon container update
>> 
>> > -----Original Message-----
>> > From: Brian Cain
>> ...
>> > > -----Original Message-----
>> > > From: Richard Henderson <richard.henderson@linaro.org>
>> > ...
>> > > On 10/1/21 12:59 PM, Brian Cain wrote:
>> > > > Alex,
>> > > >
>> > > > We need to update the docker container used for hexagon for new test
>> > cases
>> > > proposed in Taylor's recent patch series under review.  Thankfully,
>> > CodeLinaro
>> > > has provided a binary of the hexagon cross toolchain so now I think we can
>> > > simplify the hexagon docker file to something like the below.  I hope this
>> also
>> > > means that we can remove the exceptional handling for the hexagon
>> > container.
>
> We had some issues with the previous attempt to update the container.
> The linux-user "signals" test failed. Richard pointed out that the
> archive of the C library had what looks like a defect that would cause
> the test to fail.
>
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg849635.html
>
> I'm following up now with a workaround - the attached patch references
> a toolchain which avoids the problem and passes the signals test. This
> toolchain is based on llvm+clang 13.0.1-rc2. BTW, the release page has
> a signature provided in case anyone wants to verify the download:
> https://github.com/quic/toolchain_for_hexagon/releases/tag/13.0.1-rc2_
>
> Can we try again with this new container definition?
>
> -Brian
>
> [2. 0001-Update-Hexagon-toolchain-to-13.0.1-rc2.patch --- text/x-diff; 0001-Update-Hexagon-toolchain-to-13.0.1-rc2.patch]...

Could you send the updated patch against the current master in the usual
way please?

That way I know it's been tested and there is less risk of me botching
up a franken patch by applying to the wrong base.

-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: hexagon container update
  2022-01-17 14:47         ` Alex Bennée
@ 2022-01-18 15:25           ` Brian Cain
  2022-01-18 15:41             ` Brian Cain
  0 siblings, 1 reply; 10+ messages in thread
From: Brian Cain @ 2022-01-18 15:25 UTC (permalink / raw)
  To: Alex Bennée; +Cc: Taylor Simpson, Richard Henderson, qemu-devel

> -----Original Message-----
> From: Alex Bennée <alex.bennee@linaro.org>
..
> Brian Cain <bcain@quicinc.com> writes:
> 
...
> > We had some issues with the previous attempt to update the container.
> > The linux-user "signals" test failed. Richard pointed out that the
> > archive of the C library had what looks like a defect that would cause
> > the test to fail.
> >
> > https://www.mail-archive.com/qemu-devel@nongnu.org/msg849635.html
> >
> > I'm following up now with a workaround - the attached patch references
> > a toolchain which avoids the problem and passes the signals test. This
> > toolchain is based on llvm+clang 13.0.1-rc2. BTW, the release page has
> > a signature provided in case anyone wants to verify the download:
> > https://github.com/quic/toolchain_for_hexagon/releases/tag/13.0.1-rc2_
> >
> > Can we try again with this new container definition?
> >
> > -Brian
> >
> > [2. 0001-Update-Hexagon-toolchain-to-13.0.1-rc2.patch --- text/x-diff; 0001-
> Update-Hexagon-toolchain-to-13.0.1-rc2.patch]...
> 
> Could you send the updated patch against the current master in the usual
> way please?

Sorry -- I should have instead asked that the patch be reviewed.  It was based on the current master, though.  And once it's reviewed I'll send a pull request, right?

> That way I know it's been tested and there is less risk of me botching
> up a franken patch by applying to the wrong base.
> 
> --
> Alex Bennée

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: hexagon container update
  2022-01-18 15:25           ` Brian Cain
@ 2022-01-18 15:41             ` Brian Cain
  0 siblings, 0 replies; 10+ messages in thread
From: Brian Cain @ 2022-01-18 15:41 UTC (permalink / raw)
  To: Alex Bennée; +Cc: Taylor Simpson, Richard Henderson, qemu-devel



> -----Original Message-----
> From: Brian Cain
> Sent: Tuesday, January 18, 2022 9:25 AM
> To: Alex Bennée <alex.bennee@linaro.org>
> Cc: Richard Henderson <richard.henderson@linaro.org>; qemu-
> devel@nongnu.org; Taylor Simpson <tsimpson@quicinc.com>
> Subject: RE: hexagon container update
> 
> > -----Original Message-----
> > From: Alex Bennée <alex.bennee@linaro.org>
> ..
> > Brian Cain <bcain@quicinc.com> writes:
> >
> ...
> > > We had some issues with the previous attempt to update the container.
> > > The linux-user "signals" test failed. Richard pointed out that the
> > > archive of the C library had what looks like a defect that would cause
> > > the test to fail.
> > >
> > > https://www.mail-archive.com/qemu-devel@nongnu.org/msg849635.html
> > >
> > > I'm following up now with a workaround - the attached patch references
> > > a toolchain which avoids the problem and passes the signals test. This
> > > toolchain is based on llvm+clang 13.0.1-rc2. BTW, the release page has
> > > a signature provided in case anyone wants to verify the download:
> > > https://github.com/quic/toolchain_for_hexagon/releases/tag/13.0.1-rc2_
> > >
> > > Can we try again with this new container definition?
> > >
> > > -Brian
> > >
> > > [2. 0001-Update-Hexagon-toolchain-to-13.0.1-rc2.patch --- text/x-diff;
> 0001-
> > Update-Hexagon-toolchain-to-13.0.1-rc2.patch]...
> >
> > Could you send the updated patch against the current master in the usual
> > way please?
> 
> Sorry -- I should have instead asked that the patch be reviewed.  It was based
> on the current master, though.  And once it's reviewed I'll send a pull request,
> right?

No, it wasn't based on master.  Apologies, please disregard.

-Brian

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-01-18 16:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-01 16:59 hexagon container update Brian Cain
2021-10-01 17:23 ` Richard Henderson
2021-10-01 17:59   ` Brian Cain
2021-10-01 21:44     ` Alex Bennée
2021-10-02  0:22     ` Brian Cain
2022-01-15  3:36       ` Brian Cain
2022-01-17 14:47         ` Alex Bennée
2022-01-18 15:25           ` Brian Cain
2022-01-18 15:41             ` Brian Cain
2021-10-02 13:09     ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).