From: Tom Rini <trini@konsulko.com>
To: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: u-boot@lists.denx.de
Subject: Re: [PATCH] Dockerfile: Update to gcc-14.2.0 and clang-18
Date: Fri, 11 Apr 2025 08:57:15 -0600 [thread overview]
Message-ID: <20250411145715.GP5495@bill-the-cat> (raw)
In-Reply-To: <faee771b-9bf2-4689-86dc-fcfa79ec5880@gmx.de>
[-- Attachment #1: Type: text/plain, Size: 6292 bytes --]
On Fri, Apr 11, 2025 at 09:36:16AM +0200, Heinrich Schuchardt wrote:
> On 1/29/25 00:02, Tom Rini wrote:
> > 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>
> > ---
> > .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 ba351b9802d1..4d3a5800beb3 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.
> > @@ -324,16 +324,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 74dc05d58a70..c3c38e24fd1d 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:
> > @@ -241,7 +241,7 @@ sandbox with clang test.py:
> > - ${DEFAULT_AMD64_TAG}
> > variables:
> > TEST_PY_BD: "sandbox"
> > - OVERRIDE: "-O clang-17"
> > + OVERRIDE: "-O clang-18"
> > <<: *buildman_and_testpy_dfn
> >
> > sandbox64 test.py:
> > @@ -256,7 +256,7 @@ sandbox64 with clang test.py:
> > - ${DEFAULT_AMD64_TAG}
> > 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 d2848ab85f35..b72ed357fa36 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 \
> > @@ -182,7 +182,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 \
>
> Hello Tom,
>
> The upstream GRUB code already has a test in autoconfigure.ac to check
> if the large model is supported:
>
> if test "$target_cpu" = x86_64 || test "$target_cpu" = sparc64 || test
> "$target_cpu" = riscv64 ; then
> # Use large model to support 4G memory
> AC_CACHE_CHECK([whether option -mcmodel=large works],
> grub_cv_cc_mcmodel, [
> CFLAGS="$TARGET_CFLAGS -mcmodel=large"
> AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
> [grub_cv_cc_mcmodel=yes],
> [grub_cv_cc_mcmodel=no])
> ])
> if test "x$grub_cv_cc_mcmodel" = xyes; then
> TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=large"
> elif test "$target_cpu" = sparc64 || test "$target_cpu" = riscv64; then
> TARGET_CFLAGS="$TARGET_CFLAGS -mcmodel=medany"
> fi
> fi
>
> Why did you have to put grub_cv_cc_mcmodel=no on the command line?
>
> I would prefer to leave it to GRUB to figure out which model is supported.
Because the test is wrong. It claims it's supported and then the tools
fail to run and segfault. This is in the link at
https://savannah.gnu.org/bugs/?65909
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
prev parent reply other threads:[~2025-04-11 14:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-28 23:02 [PATCH] Dockerfile: Update to gcc-14.2.0 and clang-18 Tom Rini
2025-04-10 17:33 ` Tom Rini
2025-04-11 7:36 ` Heinrich Schuchardt
2025-04-11 14:57 ` Tom Rini [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250411145715.GP5495@bill-the-cat \
--to=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox