Le 20/08/2022 à 19:01, Masahiro Yamada a écrit : > On Sat, Aug 20, 2022 at 11:15 PM Christophe Leroy > <christophe.leroy@xxxxxxxxxx> wrote: >> >> >> >> Le 20/08/2022 à 14:51, Masahiro Yamada a écrit : >>> On Sat, Aug 20, 2022 at 7:02 PM Christophe Leroy >>> <christophe.leroy@xxxxxxxxxx> wrote: >>>> >>>> Hi, >>>> >>>> Le 13/05/2022 à 13:39, Masahiro Yamada a écrit : >>>>> include/{linux,asm-generic}/export.h defines a weak symbol, __crc_* >>>>> as a placeholder. >>>>> >>>>> Genksyms writes the version CRCs into the linker script, which will be >>>>> used for filling the __crc_* symbols. The linker script format depends >>>>> on CONFIG_MODULE_REL_CRCS. If it is enabled, __crc_* holds the offset >>>>> to the reference of CRC. >>>>> >>>>> It is time to get rid of this complexity. >>>>> >>>>> Now that modpost parses text files (.*.cmd) to collect all the CRCs, >>>>> it can generate C code that will be linked to the vmlinux or modules. >>>>> >>>>> Generate a new C file, .vmlinux.export.c, which contains the CRCs of >>>>> symbols exported by vmlinux. It is compiled and linked to vmlinux in >>>>> scripts/link-vmlinux.sh. >>>>> >>>>> Put the CRCs of symbols exported by modules into the existing *.mod.c >>>>> files. No additional build step is needed for modules. As before, >>>>> *.mod.c are compiled and linked to *.ko in scripts/Makefile.modfinal. >>>>> >>>>> No linker magic is used here. The new C implementation works in the >>>>> same way, whether CONFIG_RELOCATABLE is enabled or not. >>>>> CONFIG_MODULE_REL_CRCS is no longer needed. >>>>> >>>>> Previously, Kbuild invoked additional $(LD) to update the CRCs in >>>>> objects, but this step is unneeded too. >>>>> >>>>> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> >>>>> Tested-by: Nathan Chancellor <nathan@xxxxxxxxxx> >>>>> Tested-by: Nicolas Schier <nicolas@xxxxxxxxx> >>>>> Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx> >>>> >>>> Problem with v6.0-rc1 >>>> Problem with v5.19 >>>> No problem with v5.18 >>>> >>>> Bisected to 7b4537199a4a ("kbuild: link symbol CRCs at final link, >>>> removing CONFIG_MODULE_REL_CRCS") >>>> >>>> The above patch leads to the following problem building >>>> mpc85xx_defconfig + CONFIG_RELOCATABLE >>> >>> >>> >>> Is this because the relocation implementation on ppc is incomplete? >>> (and is it the reason why relock_check.sh exists?) >>> >>> arch/powerpc/kernel/reloc_32.S does not support R_PPC_UADDR32 >>> >>> >> >> Might be the reason. >> >> Is it expected that your patch adds an unsupported relocation ? >> >> Why was that relocation type unneeded before ? >> >> Thanks >> Christophe > > > I posted a patch (although I believe my commit is innocent). > > https://lore.kernel.org/lkml/20220820165129.1147589-1-masahiroy@xxxxxxxxxx/T/#u > > The relocs_check.sh warnings are gone. > Please do a boot test. > Thanks. > Yes it works, many Thanks. The fixes tag should probably be c857c43b34ec ("powerpc: Don't use a function descriptor for system call table") Christophe