[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aINJh-WFKHhxZ3fW@J2N7QTR9R3>
Date: Fri, 25 Jul 2025 10:08:23 +0100
From: Mark Rutland <mark.rutland@....com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Jeff Johnson <jeff.johnson@....qualcomm.com>,
linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>,
Josh Poimboeuf <jpoimboe@...nel.org>
Subject: Re: build failure with crosstools gcc 15.1.0
On Thu, Jul 24, 2025 at 05:37:11PM +0200, Arnd Bergmann wrote:
> On Thu, Jul 24, 2025, at 12:44, Mark Rutland wrote:
> > On Fri, Jul 04, 2025 at 03:25:49PM +0200, Arnd Bergmann wrote:
> >> On Mon, Jun 23, 2025, at 21:52, Jeff Johnson wrote:
> >> > vmlinux.o: warning: objtool: ncsi_process_next_channel() falls through
> >> > to next function ncsi_channel_monitor.cold()
> >> > vmlinux.o: error: objtool [elf.c:1360]: elf_write: elf_update failed:
> >>
> >> Sorry for the late reply, have you figured it out in the meantime?
> >>
> >> I couldn't immediately reproduce it, so it may already be fixed
> >> in linux-next.
> >
> > $ git clean -fdx
> > $ usekorg 15.1.0 make ARCH=x86_64 CROSS_COMPILE=x86_64-linux- defconfig
> > $ usekorg 15.1.0 make ARCH=x86_64 CROSS_COMPILE=x86_64-linux- -j56
>
> This is very close to what I use. I assume you are also on an arm64
> host here?
Nope, this was on an x86-64 host running Debian 11.10.
I *DON'T* see this when building on an arm64 host running Debain 12.11,
using the (arm64 builds of) the GCC 15.1.0 binaries from kernel.org.
That suggests this is down to something on the build host. Given that
the failure is seen at a call to elf_update() (which is part of libelf):
/* Write all changes to the file. */
if (elf_update(elf->elf, ELF_C_WRITE) < 0) {
ERROR_ELF("elf_update");
return -1;
}
... I suspect the version of libelf might have something to do with it.
The x86 host has libelf-dev 0.183-1 whereas the arm64 host has
libelf-dev 0.188-2.1, so maybe there's something added or fixed between
those versions.
Otherwise, looking at the resulting .config files, the only differences
are:
* The x86 host has:
CONFIG_PAHOLE_VERSION=120
CONFIG_CC_HAS_MARCH_NATIVE=y
# CONFIG_X86_NATIVE_CPU is not set
* The arm64 host has:
CONFIG_PAHOLE_VERSION=124
... and otherwise everything else is the same.
AFAICT, pahole shouldn't affect the build since none of the BTF options
are selected.
Mark.
Powered by blists - more mailing lists