DCIT / perl-CryptX

https://metacpan.org/pod/CryptX
Other
35 stars 23 forks source link

Version 0.80.0, _mm_aeskeygenassist_si128 inlining mismatch, compile fails #100

Closed PyBonnetainNesterenko closed 2 months ago

PyBonnetainNesterenko commented 10 months ago

Gentoo Linux, gcc 12.

/usr/lib/gcc/x86_64-pc-linux-gnu/12/include/wmmintrin.h: In function ‘aesni_setup’: /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/wmmintrin.h:87:1: error: inlining failed in call to ‘always_inline’ ‘_mm_aeskeygenassist_si128’: target specific option mismatch

87 | _mm_aeskeygenassist_si128 (m128i X, const int __C) | ^~~~~~~~~ ltc/ciphers/aes/aesni.c:27:25: note: called from here 27 | #define setup_mix(t, c) _mm_extract_epi32(_mm_aeskeygenassist_si128(t, 0), c) | ^~~~~~~~~~~~~ ltc/ciphers/aes/aesni.c:79:26: note: in expansion of macro ‘setup_mix’ 79 | rk[4] = rk[0] ^ setup_mix(temp, 3) ^ rcon[i]; | ^~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/wmmintrin.h:87:1: error: inlining failed in call to ‘always_inline’ ‘_mm_aeskeygenassist_si128’: target specific option mismatch 87 | _mm_aeskeygenassist_si128 (m128i X, const int __C) | ^~~~~~~~~ ltc/ciphers/aes/aesni.c:27:25: note: called from here 27 | #define setup_mix(t, c) _mm_extract_epi32(_mm_aeskeygenassist_si128(t, 0), c) | ^~~~~~~~~~~~~

(and several other errors). Looks somehow like #97.

thesamesam commented 10 months ago

I imagine https://github.com/DCIT/perl-CryptX/pull/99 fixes this.

karel-m commented 10 months ago

ping @sjaeckel

karel-m commented 2 months ago

should be fixed in CryptX-0.080_012