Message ID | 20210226164345.3889993-1-arnd@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | ARM: ep93xx: don't use clang IAS for crunch | expand |
On Fri, Feb 26, 2021 at 5:44 PM Arnd Bergmann <arnd@kernel.org> wrote: > > 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) I reworked that patch just before sending it out, and ended up with two typos in there, it should be +AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312 $(call cc-option, -no-integrated-as) I'll wait for others to comment before I send the fixed version. Arnd
Hi! On Fri, 2021-02-26 at 17:43 +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > 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 <arnd@arndb.de> > --- > 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
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
On Fri, Feb 26, 2021 at 11:32 AM Hartley Sweeten <HartleyS@visionengravers.com> 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 <ndesaulniers@google.com> (I'm also fine with removing the driver; my ack is not conditional on one way or the other).
On Fri, Feb 26, 2021 at 10:01 AM Arnd Bergmann <arnd@kernel.org> wrote: > > On Fri, Feb 26, 2021 at 5:44 PM Arnd Bergmann <arnd@kernel.org> wrote: > > > > 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) > > I reworked that patch just before sending it out, and ended up with two typos > in there, it should be > > +AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312 $(call cc-option, > -no-integrated-as) > > I'll wait for others to comment before I send the fixed version. Probably good for that v2?
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