This was reported via Linaro's CI and I never saw a resolution for it so now arm32 all{mod,yes}config is broken after r371597.
clang-10: warning: ignoring extension 'crypto' because the 'armv7-a' architecture does not support it [-Winvalid-command-line-argument]
/tmp/aegis128-neon-inner-5b5851.s: Assembler messages:
/tmp/aegis128-neon-inner-5b5851.s:50: Error: selected processor does not support `aese.8 q8,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:51: Error: selected processor does not support `aesmc.8 q8,q8' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:58: Error: selected processor does not support `aese.8 q14,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:59: Error: selected processor does not support `aesmc.8 q14,q14' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:66: Error: selected processor does not support `aese.8 q0,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:67: Error: selected processor does not support `aesmc.8 q0,q0' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:74: Error: selected processor does not support `aese.8 q14,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:75: Error: selected processor does not support `aesmc.8 q14,q14' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:81: Error: selected processor does not support `aese.8 q15,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:82: Error: selected processor does not support `aesmc.8 q15,q15' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:163: Error: selected processor does not support `aese.8 q10,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:164: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:172: Error: selected processor does not support `aese.8 q11,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:173: Error: selected processor does not support `aesmc.8 q11,q11' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:179: Error: selected processor does not support `aese.8 q10,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:180: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:187: Error: selected processor does not support `aese.8 q11,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:188: Error: selected processor does not support `aesmc.8 q11,q11' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:193: Error: selected processor does not support `aese.8 q10,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:194: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:255: Error: selected processor does not support `aese.8 q8,q15' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:256: Error: selected processor does not support `aesmc.8 q8,q8' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:264: Error: selected processor does not support `aese.8 q10,q15' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:265: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:270: Error: selected processor does not support `aese.8 q8,q15' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:271: Error: selected processor does not support `aesmc.8 q8,q8' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:278: Error: selected processor does not support `aese.8 q10,q15' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:279: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:285: Error: selected processor does not support `aese.8 q8,q15' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:286: Error: selected processor does not support `aesmc.8 q8,q8' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:382: Error: selected processor does not support `aese.8 q10,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:383: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:389: Error: selected processor does not support `aese.8 q9,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:390: Error: selected processor does not support `aesmc.8 q9,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:398: Error: selected processor does not support `aese.8 q11,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:399: Error: selected processor does not support `aesmc.8 q11,q11' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:404: Error: selected processor does not support `aese.8 q9,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:405: Error: selected processor does not support `aesmc.8 q9,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:412: Error: selected processor does not support `aese.8 q11,q12' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:413: Error: selected processor does not support `aesmc.8 q11,q11' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:474: Error: selected processor does not support `aese.8 q10,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:475: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:483: Error: selected processor does not support `aese.8 q4,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:484: Error: selected processor does not support `aesmc.8 q4,q4' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:491: Error: selected processor does not support `aese.8 q10,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:492: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:498: Error: selected processor does not support `aese.8 q11,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:499: Error: selected processor does not support `aesmc.8 q11,q11' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:506: Error: selected processor does not support `aese.8 q10,q9' in ARM mode
/tmp/aegis128-neon-inner-5b5851.s:507: Error: selected processor does not support `aesmc.8 q10,q10' in ARM mode
clang-10: error: assembler command failed with exit code 1 (use -v to see invocation)
cc @ardbiesheuvel @arndb @smithp35
cc @kbeyls
My understanding was this would be corrected in the Linux Kernel: https://lore.kernel.org/linux-crypto/[email protected]/
There is the potential to "fix" this in clang by https://reviews.llvm.org/D67608 this isn't going to work for the integrated assembler, the behaviour of which didn't change with the recent clang patch. The gnu assembler does allow the fpu to override the architecture when it comes to the crypto extensions though. My preference would be for Linux to use the correct architecture though.
Agreed.
I just sent a patch to correct this:
https://lore.kernel.org/linux-crypto/[email protected]/
Most helpful comment
Agreed.
I just sent a patch to correct this:
https://lore.kernel.org/linux-crypto/[email protected]/