[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aQvHSVXbOdiN_J5D@telecaster>
Date: Wed, 5 Nov 2025 13:53:13 -0800
From: Omar Sandoval <osandov@...ndov.com>
To: Nathan Chancellor <nathan@...nel.org>
Cc: Dimitri John Ledkov <dimitri.ledkov@...gut.co.uk>,
linux-kbuild@...r.kernel.org, Samir M <samir@...ux.ibm.com>,
linux-kernel@...r.kernel.org,
Madhavan Srinivasan <maddy@...ux.ibm.com>,
linuxppc-dev@...ts.ozlabs.org, stable@...r.kernel.org,
Venkat Rao Bagalkote <venkat88@...ux.ibm.com>,
linux-debuggers@...r.kernel.org, Nicolas Schier <nsc@...nel.org>,
Alexey Gladkov <legion@...nel.org>
Subject: Re: [mainline]Error while running make modules_install command
On Tue, Nov 04, 2025 at 06:15:48PM -0700, Nathan Chancellor wrote:
> On Tue, Nov 04, 2025 at 08:35:57PM +0000, Dimitri John Ledkov wrote:
> > On Tue, 4 Nov 2025 at 18:12, Omar Sandoval <osandov@...ndov.com> wrote:
> > > drgn's CI hit this same failure. FWIW, the commit fixed by this bisected
> > > commit, 3e86e4d74c04 ("kbuild: keep .modinfo section in
> > > vmlinux.unstripped"), also results in ELF segments of size 0 in vmlinux
> > > for some configurations, which confused drgn until I added a workaround
> > > (https://github.com/osandov/drgn/commit/2a9053de8796af866fd720a3c8c23013595d391a).
> > > So there's some funkiness in this area.
>
> Omar, could you provide me with a configuration file that reproduces
> this for you? Is there an easy way to check for this situation on the
> command line?
Here's a script that reproduces it:
```
#!/bin/sh
set -e
host_arch=x86_64
compiler_version="12.4.0"
compiler_dir="/tmp/arm64-gcc-$compiler_version"
if [ ! -e "$compiler_dir" ]; then
rm -rf "$compiler_dir.tmp"
mkdir "$compiler_dir.tmp"
curl -L "https://mirrors.kernel.org/pub/tools/crosstool/files/bin/$host_arch/$compiler_version/$host_arch-gcc-$compiler_version-nolibc-aarch64-linux.tar.xz" | tar -C "$compiler_dir.tmp" -Jx
mv "$compiler_dir.tmp" "$compiler_dir"
fi
export PATH="$compiler_dir/gcc-$compiler_version-nolibc/aarch64-linux/bin:$PATH"
make ARCH=arm64 CROSS_COMPILE=aarch64-linux- tinyconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux- -j$(nproc) vmlinux
readelf -W -l vmlinux | awk '$1 == "LOAD" && $6 ~ /0x0+\>/'
```
It prints something like:
LOAD 0x1ef008 0x0000000000000000 0xffff800080220000 0x000000 0x000000 R 0x10000
I.e., a segment with FileSiz and MemSiz 0.
Using a newer crosstool version fixes it, so maybe this was a GCC or
binutils bug.
Thanks,
Omar
Powered by blists - more mailing lists