All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: "linux-kbuild@vger.kernel.org" <linux-kbuild@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Nicolas Schier <nicolas@fjasle.eu>,
	Peter Zijlstra <peterz@infradead.org>,
	"linux-modules@vger.kernel.org" <linux-modules@vger.kernel.org>,
	"llvm@lists.linux.dev" <llvm@lists.linux.dev>,
	Ard Biesheuvel <ardb@kernel.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: Build/boot problem with 7b4537199a4a (Re: [PATCH v6 02/10] kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS)
Date: Sat, 20 Aug 2022 14:15:18 +0000	[thread overview]
Message-ID: <ad12004e-1eef-cc77-97ee-ef1738cfa141@csgroup.eu> (raw)
In-Reply-To: <CAK7LNATKh4DrgSeN+E1r7xmh1YL6mwWL_g2zL-rz=NYuzXT1bA@mail.gmail.com>



Le 20/08/2022 à 14:51, Masahiro Yamada a écrit :
> On Sat, Aug 20, 2022 at 7:02 PM Christophe Leroy
> <christophe.leroy@csgroup.eu> 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@kernel.org>
>>> Tested-by: Nathan Chancellor <nathan@kernel.org>
>>> Tested-by: Nicolas Schier <nicolas@fjasle.eu>
>>> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
>>
>> 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

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nicolas Schier <nicolas@fjasle.eu>,
	"linux-kbuild@vger.kernel.org" <linux-kbuild@vger.kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	"llvm@lists.linux.dev" <llvm@lists.linux.dev>,
	Nick Desaulniers <ndesaulniers@google.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Nathan Chancellor <nathan@kernel.org>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	Ard Biesheuvel <ardb@kernel.org>,
	"linux-modules@vger.kernel.org" <linux-modules@vger.kernel.org>
Subject: Re: Build/boot problem with 7b4537199a4a (Re: [PATCH v6 02/10] kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS)
Date: Sat, 20 Aug 2022 14:15:18 +0000	[thread overview]
Message-ID: <ad12004e-1eef-cc77-97ee-ef1738cfa141@csgroup.eu> (raw)
In-Reply-To: <CAK7LNATKh4DrgSeN+E1r7xmh1YL6mwWL_g2zL-rz=NYuzXT1bA@mail.gmail.com>



Le 20/08/2022 à 14:51, Masahiro Yamada a écrit :
> On Sat, Aug 20, 2022 at 7:02 PM Christophe Leroy
> <christophe.leroy@csgroup.eu> 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@kernel.org>
>>> Tested-by: Nathan Chancellor <nathan@kernel.org>
>>> Tested-by: Nicolas Schier <nicolas@fjasle.eu>
>>> Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
>>
>> 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

  reply	other threads:[~2022-08-20 14:15 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 11:39 [PATCH v6 00/10] kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h) Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 01/10] modpost: extract symbol versions from *.cmd files Masahiro Yamada
2022-05-28 22:47   ` Guenter Roeck
2022-05-29  4:27     ` Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 02/10] kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS Masahiro Yamada
2022-08-20 10:02   ` Build/boot problem with 7b4537199a4a (Re: [PATCH v6 02/10] kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS) Christophe Leroy
2022-08-20 10:02     ` Christophe Leroy
2022-08-20 12:05     ` Sedat Dilek
2022-08-20 12:05       ` Sedat Dilek
2022-08-20 14:10       ` Christophe Leroy
2022-08-20 14:10         ` Christophe Leroy
2022-08-20 12:51     ` Masahiro Yamada
2022-08-20 12:51       ` Masahiro Yamada
2022-08-20 14:15       ` Christophe Leroy [this message]
2022-08-20 14:15         ` Christophe Leroy
2022-08-20 17:01         ` Masahiro Yamada
2022-08-20 17:01           ` Masahiro Yamada
2022-08-20 17:51           ` Christophe Leroy
2022-08-20 17:51             ` Christophe Leroy
2022-05-13 11:39 ` [PATCH v6 03/10] kbuild: stop merging *.symversions Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 04/10] genksyms: adjust the output format to modpost Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 05/10] kbuild: do not create *.prelink.o for Clang LTO or IBT Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 06/10] kbuild: check static EXPORT_SYMBOL* by script instead of modpost Masahiro Yamada
2022-05-25  8:31   ` Guenter Roeck
2022-05-25 10:51     ` Masahiro Yamada
2022-06-07 14:22   ` Jon Hunter
2022-06-07 14:25     ` Nathan Chancellor
2022-06-07 14:34       ` Jon Hunter
2022-05-13 11:39 ` [PATCH v6 07/10] kbuild: make built-in.a rule robust against too long argument error Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 08/10] kbuild: make *.mod " Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 09/10] kbuild: add cmd_and_savecmd macro Masahiro Yamada
2022-05-13 11:39 ` [PATCH v6 10/10] kbuild: rebuild multi-object modules when objtool is updated Masahiro Yamada
2022-05-13 12:20 ` [PATCH v6 00/10] kbuild: yet another series of cleanups (modpost, LTO, MODULE_REL_CRCS, export.h) Masahiro Yamada
2022-05-22  1:44   ` Sedat Dilek
2022-05-22  6:49     ` Masahiro Yamada
2022-05-22  9:45       ` Sedat Dilek
2022-05-22 14:15         ` Sedat Dilek
2022-05-22 16:09           ` Masahiro Yamada
2022-05-22 16:18             ` Sedat Dilek
2022-05-22 22:34               ` Sedat Dilek
2022-08-05 23:20   ` matoro
2022-08-06  7:23     ` Sedat Dilek
2022-08-06 13:12       ` matoro
2022-08-08  5:54     ` Masahiro Yamada
2022-08-08 13:26       ` matoro
2022-08-08 17:36         ` Masahiro Yamada
2022-08-08 18:42           ` matoro
2022-08-09 15:20             ` Masahiro Yamada

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=ad12004e-1eef-cc77-97ee-ef1738cfa141@csgroup.eu \
    --to=christophe.leroy@csgroup.eu \
    --cc=ardb@kernel.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=llvm@lists.linux.dev \
    --cc=masahiroy@kernel.org \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=nicolas@fjasle.eu \
    --cc=peterz@infradead.org \
    --cc=samitolvanen@google.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.