X-Git-Url: https://bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=src%2Finner.h;h=3830c7c5b916d95a4301a4ffc1e65b4fe278486e;hp=3cafa4248ae9bba17f3b0e6fd1c372449aa6be9f;hb=d021b7eb7fada2acbe16b1b56f6e2cbdf8eee362;hpb=5281cd0f580d5424a2ca8f10675ae6eb7584786a;ds=sidebyside diff --git a/src/inner.h b/src/inner.h index 3cafa42..3830c7c 100644 --- a/src/inner.h +++ b/src/inner.h @@ -157,10 +157,12 @@ * GCC versions from 4.4 to 4.8 (inclusive) must use a special #pragma * to activate extra opcodes before including the relevant intrinsic * headers. But these don't work with Clang (which does not need them - * either). + * either). We also need that #pragma for GCC 4.9 in order to work + * around a compiler bug (it tends to blow up on ghash_pclmul code + * otherwise). */ #if BR_AES_X86NI_GCC && !defined BR_AES_X86NI_GCC_OLD -#if __GNUC__ == 4 && __GNUC_MINOR__ >= 4 && __GNUC_MINOR__ <= 8 && !__clang__ +#if __GNUC__ == 4 && __GNUC_MINOR__ >= 4 && __GNUC_MINOR__ <= 9 && !__clang__ #define BR_AES_X86NI_GCC_OLD 1 #endif #endif