[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-crypto-vger
Subject:    Re: [PATCH v3 2/3] crypto: arm/crct10dif-ce - cleanup and optimizations
From:       Eric Biggers <ebiggers () kernel ! org>
Date:       2019-01-30 21:08:55
Message-ID: 20190130210855.GB231835 () gmail ! com
[Download RAW message or body]

On Wed, Jan 30, 2019 at 10:00:53PM +0100, Ard Biesheuvel wrote:
> On Wed, 30 Jan 2019 at 21:55, Eric Biggers <ebiggers@kernel.org> wrote:
> > 
> > On Tue, Jan 29, 2019 at 07:14:43PM -0800, Eric Biggers wrote:
> > > +     .macro          __adrl, out, sym
> > > +     movw            \out, #:lower16:\sym
> > > +     movt            \out, #:upper16:\sym
> > > +     .endm
> > 
> > Hi Ard, it seems we need the __LINUX_ARM_ARCH__ < 7 case after all?
> > The kbuild test robot reported a build error, which can be reproduced with:
> > 
> > ( cat arch/arm/configs/multi_v7_defconfig;
> > echo CONFIG_ARCH_MULTI_V6=y;
> > echo CONFIG_CRC_T10DIF=y;
> > echo CONFIG_CRYPTO_CRCT10DIF_ARM_CE=y ) > .config
> > make olddefconfig
> > make arch/arm/crypto/crct10dif-ce-core.o
> > 
> > 
> > AS      arch/arm/crypto/crct10dif-ce-core.o
> > arch/arm/crypto/crct10dif-ce-core.S: Assembler messages:
> > arch/arm/crypto/crct10dif-ce-core.S:165: Error: .err encountered
> > arch/arm/crypto/crct10dif-ce-core.S:165: Error: selected processor does not \
> > support `movw fold_consts_ptr,#:lower16:.Lfold_across_128_bytes_consts' in ARM \
> > mode arch/arm/crypto/crct10dif-ce-core.S:165: Error: selected processor does not \
> > support `movt fold_consts_ptr,#:upper16:.Lfold_across_128_bytes_consts' in ARM \
> > mode arch/arm/crypto/crct10dif-ce-core.S:267: Error: .err encountered
> > arch/arm/crypto/crct10dif-ce-core.S:267: Error: selected processor does not \
> > support `movw r3,#:lower16:.Lbyteshift_table+16' in ARM mode \
> > arch/arm/crypto/crct10dif-ce-core.S:267: Error: selected processor does not \
> > support `movt r3,#:upper16:.Lbyteshift_table+16' in ARM mode \
> > arch/arm/crypto/crct10dif-ce-core.S:329: Error: .err encountered \
> > arch/arm/crypto/crct10dif-ce-core.S:329: Error: selected processor does not \
> > support `movw fold_consts_ptr,#:lower16:.Lfold_across_16_bytes_consts' in ARM \
> > mode arch/arm/crypto/crct10dif-ce-core.S:329: Error: selected processor does not \
> > support `movt fold_consts_ptr,#:upper16:.Lfold_across_16_bytes_consts' in ARM \
> > mode scripts/Makefile.build:367: recipe for target \
> > 'arch/arm/crypto/crct10dif-ce-core.o' failed make[1]: *** \
> > [arch/arm/crypto/crct10dif-ce-core.o] Error 1 Makefile:1709: recipe for target \
> >                 'arch/arm/crypto/crct10dif-ce-core.o' failed
> > make: *** [arch/arm/crypto/crct10dif-ce-core.o] Error 2
> > 
> 
> That does not make sense. That code can only execute on a NEON capable
> CPU, which is guaranteed to support movw/movt as well. So I'd prefer
> solving this by adding '.arch armv7-a' to this .S file.

Yes that works.  I'll send out a new version with that.

- Eric


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic