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

Reply via email to