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.