From 001bac5f16adfc131ade7de73ee681972a89df1a Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Tue, 28 Jan 2025 17:02:05 -0600 Subject: [PATCH] Dockerfile: Update to gcc-14.2.0 and clang-18 Outside of changing versions here the other visible change is that we tell grub that riscv64 does not have "large model" support. Without this change the resulting mkimage is non-functional. This is known upstream already. Link: https://savannah.gnu.org/bugs/?65909 Signed-off-by: Tom Rini --- .azure-pipelines.yml | 8 ++++---- .gitlab-ci.yml | 6 +++--- tools/docker/Dockerfile | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 7a33d403a77..593e90c7f79 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -2,7 +2,7 @@ variables: windows_vm: windows-2022 ubuntu_vm: ubuntu-24.04 macos_vm: macOS-14 - ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20240911.1-08Dec2024 + ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20240911.1-28Jan2025 # Add '-u 0' options for Azure pipelines, otherwise we get "permission # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer", # since our $(ci_runner_image) user is not root. @@ -336,16 +336,16 @@ stages: TEST_PY_TEST_SPEC: "version" sandbox_clang: TEST_PY_BD: "sandbox" - OVERRIDE: "-O clang-17" + OVERRIDE: "-O clang-18" sandbox_clang_asan: TEST_PY_BD: "sandbox" - OVERRIDE: "-O clang-17 -a ASAN" + OVERRIDE: "-O clang-18 -a ASAN" TEST_PY_TEST_SPEC: "version" sandbox64: TEST_PY_BD: "sandbox64" sandbox64_clang: TEST_PY_BD: "sandbox64" - OVERRIDE: "-O clang-17" + OVERRIDE: "-O clang-18" sandbox_spl: TEST_PY_BD: "sandbox_spl" TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 42ec28a9ad8..df793e50e03 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,7 @@ workflow: # Grab our configured image. The source for this is found # in the u-boot tree at tools/docker/Dockerfile -image: ${MIRROR_DOCKER}/trini/u-boot-gitlab-ci-runner:jammy-20240911.1-08Dec2024 +image: ${MIRROR_DOCKER}/trini/u-boot-gitlab-ci-runner:jammy-20240911.1-28Jan2025 # We run some tests in different order, to catch some failures quicker. stages: @@ -261,7 +261,7 @@ sandbox with clang test.py: - ${HOST} variables: TEST_PY_BD: "sandbox" - OVERRIDE: "-O clang-17" + OVERRIDE: "-O clang-18" <<: *buildman_and_testpy_dfn sandbox64 test.py: @@ -284,7 +284,7 @@ sandbox64 with clang test.py: - ${HOST} variables: TEST_PY_BD: "sandbox64" - OVERRIDE: "-O clang-17" + OVERRIDE: "-O clang-18" <<: *buildman_and_testpy_dfn sandbox_spl test.py: diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index e14d1640f9c..b99796ab689 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -23,7 +23,7 @@ ENV ARCHS="aarch64 arc i386 m68k mips microblaze nios2 powerpc riscv64 riscv32 s ENV MIRROR=https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin # Toolchain version -ENV TCVER=13.2.0 +ENV TCVER=14.2.0 RUN echo "Building on $BUILDPLATFORM, for target $TARGETPLATFORM" @@ -32,7 +32,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ apt-get update && apt-get install -y gnupg2 wget xz-utils RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - -RUN echo deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main | tee /etc/apt/sources.list.d/llvm.list +RUN echo deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main | tee /etc/apt/sources.list.d/llvm.list # Create a list of URLs to process, then pass them into a 'while read' loop RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then HOSTARCH=x86_64; else HOSTARCH=arm64; fi; ( \ @@ -65,7 +65,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ bison \ build-essential \ cgpt \ - clang-17 \ + clang-18 \ coreutils \ cpio \ curl \ @@ -177,7 +177,7 @@ RUN git clone git://git.savannah.gnu.org/grub.git /tmp/grub && \ search search_fs_file search_fs_uuid search_label serial sleep test \ true && \ make clean && \ - ./configure --target=riscv64 --with-platform=efi \ + grub_cv_cc_mcmodel=no ./configure --target=riscv64 --with-platform=efi \ CC=gcc \ TARGET_CC=/opt/gcc-${TCVER}-nolibc/riscv64-linux/bin/riscv64-linux-gcc \ TARGET_OBJCOPY=/opt/gcc-${TCVER}-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \