On Mon, Apr 6, 2020 at 2:16 AM Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> wrote: > > On Mon, 6 Apr 2020, Masahiro Yamada wrote: > > > As far as I understood, prom_meminit() in arch/mips/fw/arc/memory.c > > is overridden by the one in arch/mips/sgi-ip32/ip32-memory.c if > > CONFIG_SGI_IP32 is enabled. > > > > The use of EXPORT_SYMBOL in static libraries potentially causes a > > problem for the llvm linker [1]. So, I want to forcibly link lib-y > > objects to vmlinux when CONFIG_MODULES=y. > > It looks to me like a bug in the linker in the handling of the EXTERN > command. Why not fix the linker instead? > > Maciej I am not sure if this is a bug. Anyway, they decided to not change ld.lld MIPS code is so confusing. There are multiple definitions, and lib.a is (ab)used to hide them. I fixed another one for MIPS before, and 0-day bot reported this recently. There are lots of prom_meminit() definitions in arch/mips/. Making the intention clearer is a good thing, IMHO. -- Best Regards Masahiro Yamada