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 <trini@konsulko.com>
This commit is contained in:
Tom Rini 2025-01-28 17:02:05 -06:00
parent 09bd690cc3
commit 001bac5f16
3 changed files with 11 additions and 11 deletions

View file

@ -2,7 +2,7 @@ variables:
windows_vm: windows-2022 windows_vm: windows-2022
ubuntu_vm: ubuntu-24.04 ubuntu_vm: ubuntu-24.04
macos_vm: macOS-14 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 # Add '-u 0' options for Azure pipelines, otherwise we get "permission
# denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer", # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
# since our $(ci_runner_image) user is not root. # since our $(ci_runner_image) user is not root.
@ -336,16 +336,16 @@ stages:
TEST_PY_TEST_SPEC: "version" TEST_PY_TEST_SPEC: "version"
sandbox_clang: sandbox_clang:
TEST_PY_BD: "sandbox" TEST_PY_BD: "sandbox"
OVERRIDE: "-O clang-17" OVERRIDE: "-O clang-18"
sandbox_clang_asan: sandbox_clang_asan:
TEST_PY_BD: "sandbox" TEST_PY_BD: "sandbox"
OVERRIDE: "-O clang-17 -a ASAN" OVERRIDE: "-O clang-18 -a ASAN"
TEST_PY_TEST_SPEC: "version" TEST_PY_TEST_SPEC: "version"
sandbox64: sandbox64:
TEST_PY_BD: "sandbox64" TEST_PY_BD: "sandbox64"
sandbox64_clang: sandbox64_clang:
TEST_PY_BD: "sandbox64" TEST_PY_BD: "sandbox64"
OVERRIDE: "-O clang-17" OVERRIDE: "-O clang-18"
sandbox_spl: sandbox_spl:
TEST_PY_BD: "sandbox_spl" TEST_PY_BD: "sandbox_spl"
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl" TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"

View file

@ -20,7 +20,7 @@ workflow:
# Grab our configured image. The source for this is found # Grab our configured image. The source for this is found
# in the u-boot tree at tools/docker/Dockerfile # 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. # We run some tests in different order, to catch some failures quicker.
stages: stages:
@ -261,7 +261,7 @@ sandbox with clang test.py:
- ${HOST} - ${HOST}
variables: variables:
TEST_PY_BD: "sandbox" TEST_PY_BD: "sandbox"
OVERRIDE: "-O clang-17" OVERRIDE: "-O clang-18"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
sandbox64 test.py: sandbox64 test.py:
@ -284,7 +284,7 @@ sandbox64 with clang test.py:
- ${HOST} - ${HOST}
variables: variables:
TEST_PY_BD: "sandbox64" TEST_PY_BD: "sandbox64"
OVERRIDE: "-O clang-17" OVERRIDE: "-O clang-18"
<<: *buildman_and_testpy_dfn <<: *buildman_and_testpy_dfn
sandbox_spl test.py: sandbox_spl test.py:

View file

@ -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 ENV MIRROR=https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin
# Toolchain version # Toolchain version
ENV TCVER=13.2.0 ENV TCVER=14.2.0
RUN echo "Building on $BUILDPLATFORM, for target $TARGETPLATFORM" 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 \ --mount=type=cache,target=/var/lib/apt,sharing=locked \
apt-get update && apt-get install -y gnupg2 wget xz-utils 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 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 # 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; ( \ 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 \ bison \
build-essential \ build-essential \
cgpt \ cgpt \
clang-17 \ clang-18 \
coreutils \ coreutils \
cpio \ cpio \
curl \ 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 \ search search_fs_file search_fs_uuid search_label serial sleep test \
true && \ true && \
make clean && \ make clean && \
./configure --target=riscv64 --with-platform=efi \ grub_cv_cc_mcmodel=no ./configure --target=riscv64 --with-platform=efi \
CC=gcc \ CC=gcc \
TARGET_CC=/opt/gcc-${TCVER}-nolibc/riscv64-linux/bin/riscv64-linux-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 \ TARGET_OBJCOPY=/opt/gcc-${TCVER}-nolibc/riscv64-linux/bin/riscv64-linux-objcopy \