Messages in this thread | | | From | Arnd Bergmann <> | Date | Fri, 10 Apr 2020 11:56:16 +0200 | Subject | Re: [PATCH] ARM: do not assemble iwmmxt.S with LLVM toolchain |
| |
On Fri, Apr 10, 2020 at 1:28 AM Jian Cai <caij2003@gmail.com> wrote: > > iwmmxt.S contains XScale instructions LLVM ARM backend does not support. > Skip this file if LLVM integrated assemmbler or LLD is used to build ARM > kernel. > > Signed-off-by: Jian Cai <caij2003@gmail.com>
It clearly makes sense to limit the Kconfig option to compilers that can actually build it. A few questions though:
- Given that Armada XP with its PJ4B was still marketed until fairly recently[1], wouldn't it make sense to still add support for it? Is it a lot of work?
- Why does the linker have to understand it, rather than just the assembler?
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 66a04f6f4775..39de8fc64a73 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -804,7 +804,7 @@ source "arch/arm/mm/Kconfig" > > config IWMMXT > bool "Enable iWMMXt support" > - depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B > + depends on !AS_IS_CLANG && !LD_IS_LLD && (CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B)
I would suggest splitting it into two lines for readability:
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B depends on !AS_IS_CLANG && !LD_IS_LLD
Arnd
[1] http://web.archive.org/web/20191015165247/https://www.marvell.com/embedded-processors/armada/index.jsp
| |