2021-02-26 19:27:07

by Alexander Sverdlin

[permalink] [raw]
Subject: Re: [PATCH] ARM: ep93xx: don't use clang IAS for crunch

Hi!

On Fri, 2021-02-26 at 17:43 +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> Randconfig builds with ep93xx fail with the clang integrated
> assembler that does not understand the maverick crunch extensions:
>
> arch/arm/mach-ep93xx/crunch-bits.S:94:2: error: invalid instruction
>  cfstr64 mvdx0, [r1, #0] @ save 64b registers
>
> It is unclear if anyone is still using support for crunch: gcc-4.8 dropped
> it in 2012 when it was already too broken to be used reliabled. glibc
> support existed as an external patch but was never merged upstream.
> We could consider removing the last bits of the kernel support as well.

This was my impression already in 2006, that Cirrus is not going to work
on Crunch support. From my PoV it's OK to remove the support in the
kernel completely.

> Turn off the integrated assembler for this file for now.
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
>  arch/arm/mach-ep93xx/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-ep93xx/Makefile b/arch/arm/mach-ep93xx/Makefile
> index 86768495f61d..f686577ba059 100644
> --- a/arch/arm/mach-ep93xx/Makefile
> +++ b/arch/arm/mach-ep93xx/Makefile
> @@ -7,7 +7,7 @@ obj-y                   := core.o clock.o timer-ep93xx.o
>  obj-$(CONFIG_EP93XX_DMA)       += dma.o
>  
>  obj-$(CONFIG_CRUNCH)           += crunch.o crunch-bits.o
> -AFLAGS_crunch-bits.o           := -Wa,-mcpu=ep9312
> +AFLAGS_crunch-bits.o           := -Wa,-mcpu=ep9312 $(cc-option, -fno-integrated-as)
>  
>  obj-$(CONFIG_MACH_ADSSPHERE)   += adssphere.o
>  obj-$(CONFIG_MACH_EDB93XX)     += edb93xx.o

--
Alexander Sverdlin.



2021-02-26 19:36:22

by Hartley Sweeten

[permalink] [raw]
Subject: RE: [PATCH] ARM: ep93xx: don't use clang IAS for crunch

On Friday, February 26, 2021 12:23 PM, Alexander Sverdlin wrote:
> On Fri, 2021-02-26 at 17:43 +0100, Arnd Bergmann wrote:
>> Randconfig builds with ep93xx fail with the clang integrated assembler
>> that does not understand the maverick crunch extensions:
>>
>> arch/arm/mach-ep93xx/crunch-bits.S:94:2: error: invalid instruction
>>  cfstr64 mvdx0, [r1, #0] @ save 64b registers
>>
>> It is unclear if anyone is still using support for crunch: gcc-4.8
>> dropped it in 2012 when it was already too broken to be used
>> reliabled. glibc support existed as an external patch but was never merged upstream.
>> We could consider removing the last bits of the kernel support as well.
>
> This was my impression already in 2006, that Cirrus is not going to work on Crunch support. From my PoV it's OK to remove the support in the kernel completely.

Martin Guy did a lot of work trying to get the maverick crunch working but I was never able to successfully use it for anything. It "kind" of works but depending on the EP93xx silicon revision there are still a number of hardware bugs that either give imprecise or garbage results.

I have no problem with removing the kernel support for the maverick crunch.

Hartley

2021-02-26 20:52:04

by Nick Desaulniers

[permalink] [raw]
Subject: Re: [PATCH] ARM: ep93xx: don't use clang IAS for crunch

On Fri, Feb 26, 2021 at 11:32 AM Hartley Sweeten
<[email protected]> wrote:
>
> On Friday, February 26, 2021 12:23 PM, Alexander Sverdlin wrote:
> > On Fri, 2021-02-26 at 17:43 +0100, Arnd Bergmann wrote:
> >> Randconfig builds with ep93xx fail with the clang integrated assembler
> >> that does not understand the maverick crunch extensions:
> >>
> >> arch/arm/mach-ep93xx/crunch-bits.S:94:2: error: invalid instruction
> >> cfstr64 mvdx0, [r1, #0] @ save 64b registers
> >>
> >> It is unclear if anyone is still using support for crunch: gcc-4.8
> >> dropped it in 2012 when it was already too broken to be used
> >> reliabled. glibc support existed as an external patch but was never merged upstream.
> >> We could consider removing the last bits of the kernel support as well.
> >
> > This was my impression already in 2006, that Cirrus is not going to work on Crunch support. From my PoV it's OK to remove the support in the kernel completely.
>
> Martin Guy did a lot of work trying to get the maverick crunch working but I was never able to successfully use it for anything. It "kind" of works but depending on the EP93xx silicon revision there are still a number of hardware bugs that either give imprecise or garbage results.
>
> I have no problem with removing the kernel support for the maverick crunch.

Either way, please consider adding a

Link: https://github.com/ClangBuiltLinux/linux/issues/1272

tag. That will help us notice when/where this lands in order to close
out the issue. Thanks for the patch.

(if we go with this rather than removing the driver:)
Acked-by: Nick Desaulniers <[email protected]>

(I'm also fine with removing the driver; my ack is not conditional on
one way or the other).
--
Thanks,
~Nick Desaulniers