diff mbox series

tests/docker/dockerfiles: Add debian-loongarch-cross.docker

Message ID 20220704070824.965429-1-richard.henderson@linaro.org (mailing list archive)
State New, archived
Headers show
Series tests/docker/dockerfiles: Add debian-loongarch-cross.docker | expand

Commit Message

Richard Henderson July 4, 2022, 7:08 a.m. UTC
Use the pre-packaged toolchain provided by Loongson via github.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 configure                                     |  5 ++++
 tests/docker/Makefile.include                 |  2 ++
 .../dockerfiles/debian-loongarch-cross.docker | 25 +++++++++++++++++++
 3 files changed, 32 insertions(+)
 create mode 100644 tests/docker/dockerfiles/debian-loongarch-cross.docker

Comments

Philippe Mathieu-Daudé July 6, 2022, 9:06 p.m. UTC | #1
On 4/7/22 09:08, Richard Henderson wrote:
> Use the pre-packaged toolchain provided by Loongson via github.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   configure                                     |  5 ++++
>   tests/docker/Makefile.include                 |  2 ++
>   .../dockerfiles/debian-loongarch-cross.docker | 25 +++++++++++++++++++
>   3 files changed, 32 insertions(+)
>   create mode 100644 tests/docker/dockerfiles/debian-loongarch-cross.docker

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
gaosong July 7, 2022, 7 a.m. UTC | #2
On 2022/7/4 下午3:08, Richard Henderson wrote:
> +RUN curl -#SLhttps://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-full.tar.xz  \
> +    | tar -xJC /opt
> +

We can use the smaller gcc:

https://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-glibc.tar.xz, 


Tested-by: Song Gao <gaosong@loongson.cn>
Richard Henderson July 7, 2022, 9:03 a.m. UTC | #3
On 7/7/22 12:30, gaosong wrote:
> 
> On 2022/7/4 下午3:08, Richard Henderson wrote:
>> +RUN curl 
>> -#SLhttps://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-full.tar.xz  
>> \
>> +    | tar -xJC /opt
>> +
> 
> We can use the smaller gcc:
> 
> https://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-glibc.tar.xz, 
> 
> 
> Tested-by: Song Gao <gaosong@loongson.cn>

Excellent, thanks.


r~
Richard Henderson July 19, 2022, 5:31 a.m. UTC | #4
On 7/4/22 12:38, Richard Henderson wrote:
> Use the pre-packaged toolchain provided by Loongson via github.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   configure                                     |  5 ++++
>   tests/docker/Makefile.include                 |  2 ++
>   .../dockerfiles/debian-loongarch-cross.docker | 25 +++++++++++++++++++
>   3 files changed, 32 insertions(+)
>   create mode 100644 tests/docker/dockerfiles/debian-loongarch-cross.docker

Queued, with the change to the smaller gcc image suggested by Song Gao.


r~
diff mbox series

Patch

diff --git a/configure b/configure
index 76728b31f7..fec068468a 100755
--- a/configure
+++ b/configure
@@ -1904,6 +1904,7 @@  probe_target_compiler() {
     hexagon) container_hosts=x86_64 ;;
     hppa) container_hosts=x86_64 ;;
     i386) container_hosts=x86_64 ;;
+    loongarch64) container_hosts=x86_64 ;;
     m68k) container_hosts=x86_64 ;;
     microblaze) container_hosts=x86_64 ;;
     mips64el) container_hosts=x86_64 ;;
@@ -1958,6 +1959,10 @@  probe_target_compiler() {
         container_image=fedora-i386-cross
         container_cross_prefix=
         ;;
+      loongarch64)
+        container_image=debian-loongarch-cross
+        container_cross_prefix=loongarch64-unknown-linux-gnu-
+        ;;
       m68k)
         container_image=debian-m68k-cross
         container_cross_prefix=m68k-linux-gnu-
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index ef4518d9eb..9a45e8890b 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -140,6 +140,7 @@  docker-image-debian-nios2-cross: $(DOCKER_FILES_DIR)/debian-toolchain.docker \
 # Specialist build images, sometimes very limited tools
 docker-image-debian-tricore-cross: docker-image-debian10
 docker-image-debian-all-test-cross: docker-image-debian10
+docker-image-debian-loongarch-cross: docker-image-debian11
 docker-image-debian-microblaze-cross: docker-image-debian10
 docker-image-debian-nios2-cross: docker-image-debian10
 docker-image-debian-powerpc-test-cross: docker-image-debian11
@@ -149,6 +150,7 @@  docker-image-debian-riscv64-test-cross: docker-image-debian11
 DOCKER_PARTIAL_IMAGES += debian-alpha-cross
 DOCKER_PARTIAL_IMAGES += debian-powerpc-test-cross
 DOCKER_PARTIAL_IMAGES += debian-hppa-cross
+DOCKER_PARTIAL_IMAGES += debian-loongarch-cross
 DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross
 DOCKER_PARTIAL_IMAGES += debian-microblaze-cross
 DOCKER_PARTIAL_IMAGES += debian-nios2-cross
diff --git a/tests/docker/dockerfiles/debian-loongarch-cross.docker b/tests/docker/dockerfiles/debian-loongarch-cross.docker
new file mode 100644
index 0000000000..8ebc112d59
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-loongarch-cross.docker
@@ -0,0 +1,25 @@ 
+#
+# Docker cross-compiler target
+#
+# This docker target builds on the debian11 base image,
+# using a prebuilt toolchains for LoongArch64 from:
+# https://github.com/loongson/build-tools/releases
+#
+FROM qemu/debian11
+
+RUN apt-get update && \
+    DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
+    DEBIAN_FRONTEND=noninteractive eatmydata \
+    apt-get install -y --no-install-recommends \
+        build-essential \
+        ca-certificates \
+        curl \
+        gettext \
+        git \
+        python3-minimal
+
+RUN curl -#SL https://github.com/loongson/build-tools/releases/download/2022.05.29/loongarch64-clfs-5.0-cross-tools-gcc-full.tar.xz \
+    | tar -xJC /opt
+
+ENV PATH $PATH:/opt/cross-tools/bin
+ENV LD_LIBRARY_PATH /opt/cross-tools/lib:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib:$LD_LIBRARY_PATH