Hi Helge, On Sat, Apr 4, 2026 at 1:04 PM Helge Deller <[email protected]> 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. > > Fix the issue by avoiding the text section merge for 32-bit parisc while still > allowing it for all other architectures. > > Fixes: 1ba9f8979426 ("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related > macros") > Cc: Josh Poimboeuf <[email protected]> > Cc: [email protected] # v6.19+ > Signed-off-by: Helge Deller <[email protected]> > > diff --git a/scripts/module.lds.S b/scripts/module.lds.S > index 054ef99e8288..41e13e9cbb9d 100644 > --- a/scripts/module.lds.S > +++ b/scripts/module.lds.S > @@ -41,9 +41,11 @@ SECTIONS { > __kcfi_traps : { KEEP(*(.kcfi_traps)) } > #endif > > +#if !defined(CONFIG_PARISC) || defined(CONFIG_64BIT)
Instead of adding parisc-specific policies to the main module linker script, could we add a separate config flag for this and have parisc select that in its own Kconfig for !64BIT? Perhaps something like ARCH_WANTS_MODULE_TEXT_SECTIONS? Sami

