[llvm] [Github][libc] Add qemu-system-hexagon to the libc container (PR #219433)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 2 01:54:28 PDT 2026


https://github.com/quic-k updated https://github.com/llvm/llvm-project/pull/219433

>From f8a67e57f7217d5ee0d0387f5de9e0cdd02c3bbc Mon Sep 17 00:00:00 2001
From: Kushal Pal <kushpal at qti.qualcomm.com>
Date: Tue, 1 Sep 2026 14:25:49 +0530
Subject: [PATCH] [Github][libc] Download Hexagon qemu in the libc container

Signed-off-by: Kushal Pal <kushpal at qti.qualcomm.com>
---
 .github/workflows/containers/libc/Dockerfile | 24 ++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/.github/workflows/containers/libc/Dockerfile b/.github/workflows/containers/libc/Dockerfile
index d2cb71435059a..0a96d5e8b7d70 100644
--- a/.github/workflows/containers/libc/Dockerfile
+++ b/.github/workflows/containers/libc/Dockerfile
@@ -14,6 +14,11 @@ RUN apt-get update && \
     gcc-11 \
     g++-11 \
     qemu-user-static \
+    libpixman-1-0 \
+    libfdt1 \
+    libiscsi7 \
+    libjack-jackd2-0 \
+    libsndio7.0 \
     libc6-dev-arm64-cross \
     libstdc++6-arm64-cross \
     gcc-aarch64-linux-gnu \
@@ -30,6 +35,7 @@ RUN apt-get update && \
     g++-12-arm-linux-gnueabihf \
     sudo \
     sccache \
+    zstd \
     wget \
     lsb-release \
     software-properties-common \
@@ -40,6 +46,24 @@ RUN apt-get update && \
     apt-get clean && \
     rm -rf /var/lib/apt/lists/*
 
+# TODO: Switch to distribution QEMU packages once the Qualcomm fork patches
+# are upstreamed to QEMU.
+# The current QEMU binaries are x86_64-only, so do not install them on ARM.
+RUN if [ "$(uname -m)" = "x86_64" ]; then \
+    wget --remote-encoding=utf-8 -O /tmp/clang+llvm-23.1.0-rc1-cross-hexagon-unknown-linux-musl.tar.zst \
+    https://artifacts.codelinaro.org/artifactory/codelinaro-toolchain-for-hexagon/23.1.0-rc1/clang+llvm-23.1.0-rc1-cross-hexagon-unknown-linux-musl.tar.zst && \
+    mkdir -p /tmp/hexagon-toolchain && \
+    tar -xf /tmp/clang+llvm-23.1.0-rc1-cross-hexagon-unknown-linux-musl.tar.zst -C /tmp/hexagon-toolchain/ && \
+    install "$(find /tmp/hexagon-toolchain -type f -name qemu-system-hexagon -print -quit)" \
+    /usr/local/bin/qemu-system-hexagon && \
+    install "$(find /tmp/hexagon-toolchain -type f -name qemu-hexagon -print -quit)" \
+    /usr/local/bin/qemu-hexagon && \
+    qemu-system-hexagon --version && \
+    qemu-hexagon --version && \
+    rm -rf /tmp/hexagon-toolchain && \
+    rm -f /tmp/clang+llvm-23.1.0-rc1-cross-hexagon-unknown-linux-musl.tar.zst; \
+    fi
+
 RUN wget https://apt.llvm.org/llvm.sh && \
     chmod +x llvm.sh && \
     sudo ./llvm.sh 23 && \



More information about the llvm-commits mailing list