]> git.itanic.dy.fi Git - linux-stable/commit
crypto, x86: aesni - fix token pasting for clang
authorMichael Davidson <md@google.com>
Wed, 15 Mar 2017 22:36:00 +0000 (15:36 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Nov 2018 07:20:35 +0000 (08:20 +0100)
commit83e0e2f16c659e9873f5c66886363a1a7ba132c6
tree8a619620a8608b28520a8eaa5524bcbca2076a57
parenta5819f2b08a73babd60455c5913c844e1b71bf11
crypto, x86: aesni - fix token pasting for clang

commit fdb2726f4e61c5e3abc052f547d5a5f6c0dc5504 upstream.

aes_ctrby8_avx-x86_64.S uses the C preprocessor for token pasting
of character sequences that are not valid preprocessor tokens.
While this is allowed when preprocessing assembler files it exposes
an incompatibilty between the clang and gcc preprocessors where
clang does not strip leading white space from macro parameters,
leading to the CONCAT(%xmm, i) macro expansion on line 96 resulting
in a token with a space character embedded in it.

While this could be resolved by deleting the offending space character,
the assembler is perfectly capable of doing the token pasting correctly
for itself so we can just get rid of the preprocessor macros.

Signed-off-by: Michael Davidson <md@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/crypto/aes_ctrby8_avx-x86_64.S