Re: [PATCH v6 00/10] kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h)

Masahiro Yamada
2022-05-22T06:50:43Z

On Sun, May 22, 2022 at 10:45 AM Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> On Fri, May 13, 2022 at 4:31 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > On Fri, May 13, 2022 at 8:42 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> > >
> > >
> > > This is the third batch of cleanups in this development cycle.
> > >
> >
> >
> > This series is available at
> > git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
> > lto-cleanup-v6
> >
>
> Hi Masahiro,
>
> I cloned the repository on top of latest Linus Git.
>
> Not able to boot in Quemu - Not able to boot on bare metal.
>
> $ grep module_layout log_quemu-5.18.0-rc7-2-amd64-clang14-lto.txt
> 366:[ 2.173265] floppy: disagrees about version of symbol module_layout
> 367:[ 2.198746] scsi_common: disagrees about version of symbol module_layout
> 368:[ 2.205573] i2c_piix4: disagrees about version of symbol module_layout
> 369:[ 2.210610] psmouse: disagrees about version of symbol module_layout
> 370:[ 2.225138] scsi_common: disagrees about version of symbol module_layout
> 371:[ 2.235536] scsi_common: disagrees about version of symbol module_layout
> 375:Begin: Running /scripts/local-premount ... [ 2.298555]
> crc32c_intel: disagrees about version of symbol module_layout
> 376:[ 2.303335] crc32c_generic: disagrees about version of symbol
> module_layout
> 377:[ 2.306667] libcrc32c: disagrees about version of symbol module_layout
>
> Infos: LLVM-14 + CONFIG_LTO_CLANG_THIN=y
>
> My linux-config and qemu-log are attached.
>

Thanks for your testing.

I was also able to reproduce this issue.

The problematic parts are:

[ 2.298555] crc32c_intel: disagrees about version of symbol module_layout
[ 2.303335] crc32c_generic: disagrees about version of symbol module_layout
[ 2.306667] libcrc32c: disagrees about version of symbol module_layout

When CONFIG_LTO_CLANG_THIN=y,
I cannot see any __crc_* symbols in "nm vmlinux".

Perhaps, LTO might have discarded all the __crc_* symbols
from vmlinux, but I am still checking the details...

--
Best Regards
Masahiro Yamada