On 4/7/26 10:52 PM, Helge Deller wrote:
> On the 32-bit parisc architecture, we always used the
> -ffunction-sections compiler option to tell the compiler to put the
> functions into seperate text sections. This is necessary, otherwise
> "big" kernel modules like ext4 or ipv6 fail to load because some
> branches won't be able to reach their stubs.
>
> Commit 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related
> macros") broke this for parisc because all text sections will get
> unconditionally merged now.
>
> Introduce the ARCH_WANTS_MODULES_TEXT_SECTIONS config option which
> avoids the text section merge for modules, and fix this issue by
> enabling this option by default for 32-bit parisc.
>
> v2: Introduce and use ARCH_WANTS_MODULES_TEXT_SECTIONS option
>
> Fixes: 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related
> macros")
> Cc: Josh Poimboeuf <[email protected]>
> Cc: [email protected] # v6.19+
> Suggested-by: Sami Tolvanen <[email protected]>
> Signed-off-by: Helge Deller <[email protected]>
>
> diff --git a/arch/Kconfig b/arch/Kconfig
> index 102ddbd4298e..78abb8be1e63 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -1128,6 +1128,13 @@ config ARCH_WANTS_MODULES_DATA_IN_VMALLOC
> For architectures like powerpc/32 which have constraints on module
> allocation and need to allocate module data outside of module area.
>
> +config ARCH_WANTS_MODULES_TEXT_SECTIONS
> + bool
> + help
> + For architectures like 32-bit parisc which require that functions in
> + modules have to keep code in own text sections (-ffuntion-sections)
> + and to avoid merging all text into one big text section,
> +
Typos: '-ffuntion-sections' -> '-ffunction-sections' and ',' -> '.'
Otherwise, this looks ok to me. Feel free to add:
Reviewed-by: Petr Pavlu <[email protected]>
--
Thanks,
Petr