[PATCH v2] RISC-V: fix sifive and thead section mismatches in errata

Evan Green evan at rivosinc.com
Mon May 1 08:26:19 PDT 2023


On Sat, Apr 29, 2023 at 12:11 PM Conor Dooley <conor at kernel.org> wrote:
>
> On Sat, Apr 29, 2023 at 12:06:19PM -0700, Evan Green wrote:
> > On Sat, Apr 29, 2023 at 10:58 AM Randy Dunlap <rdunlap at infradead.org> wrote:
> > >
> > >
> > >
> > > On 4/29/23 10:48, Evan Green wrote:
> > > > On Sat, Apr 29, 2023 at 10:24 AM Conor Dooley <conor at kernel.org> wrote:
> > > >>
> > > >> On Sat, Apr 29, 2023 at 10:21:39AM -0700, Evan Green wrote:
> > > >>> On Sat, Apr 29, 2023 at 8:52 AM Randy Dunlap <rdunlap at infradead.org> wrote:
> > > >>>>
> > > >>>> When CONFIG_MODULES is set, __init_or_module becomes <empty>, but when
> > > >>>> CONFIG_MODULES is not set, __init_or_module becomes __init.
> > > >>>> In the latter case, it causes section mismatch warnings:
> > > >>>>
> > > >>>> WARNING: modpost: vmlinux.o: section mismatch in reference: riscv_fill_cpu_mfr_info (section: .text) -> sifive_errata_patch_func (section: .init.text)
> > > >>>> WARNING: modpost: vmlinux.o: section mismatch in reference: riscv_fill_cpu_mfr_info (section: .text) -> thead_errata_patch_func (section: .init.text)
> > > >>>>
> > > >>>> Fixes: bb3f89487fd9 ("RISC-V: hwprobe: Remove __init on probe_vendor_features()")
> > > >>>> Signed-off-by: Randy Dunlap <rdunlap at infradead.org>
> > > >>>> Cc: Heiko Stuebner <heiko at sntech.de>
> > > >>>> Cc: Paul Walmsley <paul.walmsley at sifive.com>
> > > >>>> Cc: Palmer Dabbelt <palmer at dabbelt.com>
> > > >>>> Cc: Albert Ou <aou at eecs.berkeley.edu>
> > > >>>> Cc: linux-riscv at lists.infradead.org
> > > >>>> Cc: Conor Dooley <conor at kernel.org>
> > > >>>> Cc: Evan Green <evan at rivosinc.com>
> > > >>>> ---
> > > >>>
> > > >>> Thanks, Randy. I'm confused at how I didn't see that when I made the
> > > >>> original fix. I feel like repro of these section mismatch errors
> > > >>> depend on some other factor I'm not understanding. In any case:
> > > >>
> > > >> Perhaps you had a cut-down config that did not enable either of the
> > > >> relevant ARCH_ options to get those errata compiled?
> > > >
> > > > It was weird, my original "fix" (the one listed in this Fixes tag) was
> > > > needed because while the hwprobe series was clean on Palmer's branch,
> > > > it generated a "section mismatch" on linux-next. As noted here, it was
> > > > only with !CONFIG_MODULES, so I explicitly remember generating that
> > > > config and checking it on linux-next to generate this "fix", and it
> > > > came out clean. It's like the robots are getting smarter.
> > > > -Evan
> > >
> > > I observed the problem in 8 out of 20 randconfig builds,
> > > using linux-next 20230427.
> >
> > Oh interesting, so not the stock k210_nommu defconfig. That makes me
> > feel a little better at least.
>
> Ohh man, that's a pretty bad config to try use (if that's your default)
> for build testing stuff. The k210_mmu defconfig doesn't enable anything
> other than SOC_CANAAN.
> I could reproduce Randy's issue on defconfig w/ CONFIG_MODULES disabled.

That's the one that caught me before, so I remembered it as being
"different". I'll try what you describe above next time I'm hunting
for section mismatches.
-Evan



More information about the linux-riscv mailing list