Linux: -Winvalid-command-line-argument in crypto/aegis128-neon-inner.c

Created on 2 Oct 2019  路  5Comments  路  Source: ClangBuiltLinux/linux

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

[ARCH] arm32 [BUG] linux [FIXED][LINUX] 5.5

Most helpful comment

Agreed.

I just sent a patch to correct this:
https://lore.kernel.org/linux-crypto/[email protected]/

All 5 comments

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]/

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tpimh picture tpimh  路  4Comments

tpgxyz picture tpgxyz  路  4Comments

nathanchance picture nathanchance  路  3Comments

nickdesaulniers picture nickdesaulniers  路  5Comments

tpimh picture tpimh  路  3Comments