On Wed, Jan 30, 2019 at 10:00:53PM +0100, Ard Biesheuvel wrote: > On Wed, 30 Jan 2019 at 21:55, Eric Biggers <ebiggers@xxxxxxxxxx> 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