[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200325173215.GC17524@alpha.franken.de>
Date: Wed, 25 Mar 2020 18:32:15 +0100
From: Thomas Bogendoerfer <tsbogend@...ha.franken.de>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-mips@...r.kernel.org,
"Maciej W . Rozycki" <macro@...ux-mips.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
clang-built-linux@...glegroups.com,
Alexander Lobakin <alobakin@...nk.ru>,
Paul Burton <paulburton@...nel.org>,
linux-kernel@...r.kernel.org
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@...el.com>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.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 ]
Powered by blists - more mailing lists