Messages in this thread | | | Date | Wed, 25 Mar 2020 18:32:15 +0100 | From | Thomas Bogendoerfer <> | Subject | Re: [PATCH v2] MIPS: do not compile generic functions for CONFIG_CAVIUM_OCTEON_SOC |
| |
On Wed, Mar 25, 2020 at 04:45:29PM +0900, Masahiro Yamada wrote: > MIPS provides multiple definitions for the following functions: > > fw_init_cmdline > __delay > __udelay > __ndelay > memmove > __rmemcpy > memcpy > __copy_user > > The generic ones are defined in lib-y objects, which are overridden by > the Octeon ones when CONFIG_CAVIUM_OCTEON_SOC 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. > > As a groundwork, we must fix multiple definitions that have previously > been hidden by lib-y. > > If you look at lib/string.c, arch can define __HAVE_ARCH_* to opt out > the generic implementation. > > Similarly, this commit adds CONFIG_HAVE_PLAT_* to allow a platform > to opt out the MIPS generic code. > > [1]: https://github.com/ClangBuiltLinux/linux/issues/515 > > Reported-by: kbuild test robot <lkp@intel.com> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > Changes in v2: > - Use #ifdef instead of __weak. This avoids increasing image size. > > arch/mips/Kconfig | 12 ++++++++++++ > arch/mips/fw/lib/cmdline.c | 2 ++ > arch/mips/lib/delay.c | 4 ++++ > arch/mips/lib/memcpy.S | 3 +++ > 4 files changed, 21 insertions(+)
applied to mips-next.
Thomas.
-- Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ]
| |