Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

-Winvalid-command-line-argument in crypto/aegis128-neon-inner.c #730

Closed
nathanchance opened this issue Oct 1, 2019 · 5 comments
Closed
Assignees
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.5 This bug was fixed in Linux 5.5

Comments

@nathanchance
Copy link
Member

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

@nathanchance nathanchance added [BUG] linux A bug that should be fixed in the mainline kernel. [ARCH] arm32 This bug impacts ARCH=arm labels Oct 1, 2019
@nickdesaulniers
Copy link
Member

cc @kbeyls

@smithp35
Copy link

smithp35 commented Oct 2, 2019

My understanding was this would be corrected in the Linux Kernel: https://lore.kernel.org/linux-crypto/20190917085001.792-1-ard.biesheuvel@arm.com/

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.

@ardbiesheuvel
Copy link

Agreed.

I just sent a patch to correct this:
https://lore.kernel.org/linux-crypto/20191002075448.6453-1-ard.biesheuvel@linaro.org/

@nickdesaulniers nickdesaulniers added the [PATCH] Submitted A patch has been submitted for review label Oct 2, 2019
@nickdesaulniers nickdesaulniers added [PATCH] Accepted A submitted patch has been accepted upstream and removed [PATCH] Submitted A patch has been submitted for review labels Oct 10, 2019
@nickdesaulniers nickdesaulniers added [FIXED][LINUX] 5.5 This bug was fixed in Linux 5.5 and removed [PATCH] Accepted A submitted patch has been accepted upstream labels Nov 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[ARCH] arm32 This bug impacts ARCH=arm [BUG] linux A bug that should be fixed in the mainline kernel. [FIXED][LINUX] 5.5 This bug was fixed in Linux 5.5
Projects
None yet
Development

No branches or pull requests

4 participants