cloudflare / sslconfig

Cloudflare's Internet facing SSL configuration
BSD 3-Clause "New" or "Revised" License
1.3k stars 132 forks source link

Chacha20-Poly1305 & RC4 disabling patch failed on OpenSSL 1.0.2 latest relase #7

Closed v998 closed 9 years ago

v998 commented 9 years ago

Using the latest official OpenSSL 1.0.2 at https://www.openssl.org/source/openssl-1.0.2.tar.gz

RC4 patch:

[root@vpsc openssl-1.0.2]# patch -p1 < openssl__disable_rc4.patch
patching file ssl/s3_lib.c
Hunk #1 FAILED at 3816.
1 out of 1 hunk FAILED -- saving rejects to file ssl/s3_lib.c.rej

It only works on 1.0.1, even the one in http://openssl.6102.n7.nabble.com/PATCH-Disable-RC4-for-TLS-v1-1-server-side-td48398.html doesn't work for the latest 1.0.2 release...

Chacha20-Poly1305 patch:

[root@vpsc openssl-1.0.2]# patch -p1 < openssl__chacha20_poly1305_cf.patch
patching file Configure
Hunk #2 succeeded at 689 (offset -3 lines).
Hunk #3 succeeded at 732 (offset -3 lines).
Hunk #4 succeeded at 1191 (offset -3 lines).
Hunk #5 succeeded at 1219 (offset -3 lines).
Hunk #6 succeeded at 1386 (offset -3 lines).
Hunk #7 succeeded at 1539 (offset -3 lines).
Hunk #8 succeeded at 1719 (offset -3 lines).
Hunk #9 succeeded at 1781 (offset -3 lines).
Hunk #10 succeeded at 2180 (offset -3 lines).
Hunk #11 succeeded at 2211 (offset -3 lines).
patching file Makefile.org
patching file apps/speed.c
Hunk #1 FAILED at 224.
Hunk #2 FAILED at 239.
Hunk #3 FAILED at 254.
Hunk #4 FAILED at 499.
Hunk #5 FAILED at 945.
Hunk #6 FAILED at 1087.
Hunk #7 FAILED at 1305.
Hunk #8 FAILED at 1811.
8 out of 8 hunks FAILED -- saving rejects to file apps/speed.c.rej
patching file crypto/chacha20poly1305/Makefile
patching file crypto/chacha20poly1305/asm/chacha20_avx.pl
patching file crypto/chacha20poly1305/asm/chacha20_avx2.pl
patching file crypto/chacha20poly1305/asm/poly1305_avx.pl
patching file crypto/chacha20poly1305/asm/poly1305_avx2.pl
patching file crypto/chacha20poly1305/chacha20.c
patching file crypto/chacha20poly1305/chacha20poly1305.h
patching file crypto/chacha20poly1305/chapoly_test.c
patching file crypto/chacha20poly1305/poly1305.c
patching file crypto/cryptlib.c
Hunk #1 FAILED at 665.
Hunk #2 FAILED at 728.
2 out of 2 hunks FAILED -- saving rejects to file crypto/cryptlib.c.rej
patching file crypto/evp/Makefile
patching file crypto/evp/e_chacha20poly1305.c
patching file crypto/evp/evp.h
Hunk #1 succeeded at 122 with fuzz 2 (offset -748 lines).
patching file ssl/s3_lib.c
Hunk #1 succeeded at 2891 with fuzz 2 (offset -9 lines).
Hunk #2 FAILED at 4146.
Hunk #3 FAILED at 4179.
Hunk #4 FAILED at 4197.
3 out of 4 hunks FAILED -- saving rejects to file ssl/s3_lib.c.rej
patching file ssl/ssl.h
Hunk #1 FAILED at 296.
1 out of 1 hunk FAILED -- saving rejects to file ssl/ssl.h.rej
patching file ssl/ssl_ciph.c
Hunk #1 FAILED at 164.
Hunk #2 FAILED at 303.
Hunk #3 FAILED at 414.
Hunk #4 FAILED at 575.
Hunk #5 FAILED at 783.
Hunk #6 FAILED at 1779.
6 out of 6 hunks FAILED -- saving rejects to file ssl/ssl_ciph.c.rej
patching file ssl/ssl_locl.h
Hunk #1 FAILED at 331.
1 out of 1 hunk FAILED -- saving rejects to file ssl/ssl_locl.h.rej
patching file ssl/tls1.h
Hunk #1 FAILED at 554.
Hunk #2 FAILED at 705.
2 out of 2 hunks FAILED -- saving rejects to file ssl/tls1.h.rej
patching file test/Makefile
[root@vpsc openssl-1.0.2]#
grittygrease commented 9 years ago

The OpenSSL codebase has changed since we made this patch. We are planning on rebasing it on the official 1.0.2. Until then, try an older revision of 1.0.2.

szepeviktor commented 9 years ago

Could you give a link to the last acceptable revision?

grittygrease commented 9 years ago

We just rebased on the latest 1.0.2, please try that.

v998 commented 9 years ago

@grittygrease How about the RC4 patch? It only works on OpenSSL 1.0.1.

v998 commented 9 years ago

@grittygrease I have just tested to patch the current Chacha20-poly1305 patch however I am getting some messages with it.

patching file test/Makefile
Hunk #1 succeeded at 67 (offset -1 lines).
Hunk #2 succeeded at 80 with fuzz 2 (offset -1 lines).
Hunk #3 FAILED at 95.
Hunk #4 FAILED at 105.
Hunk #5 succeeded at 140 (offset -1 lines).
Hunk #6 succeeded at 347 (offset -4 lines).
Hunk #7 succeeded at 515 (offset -7 lines).
Hunk #8 succeeded at 815 (offset -20 lines).
2 out of 8 hunks FAILED -- saving rejects to file test/Makefile.rej

would OpenSSL get problems with the Chacha20-Poly1305 ciphersuite?

v998 commented 9 years ago

additionally i have just tested to build Openssl with ./config shared --prefix=/usr --openssldir=/usr/local/openssl -march=native it comes out with error messages..

/usr/bin/perl asm/poly1305_avx2.pl elf > poly1305_avx2.s
gcc -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include  -fPIC -DOPENSSL_                                                                                        PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -march=native -Wa,                                                                                        --noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_B                                                                                        N_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DCHAPOLY_x86_64_ASM -DS                                                                                        HA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -D                                                                                        WHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -c  -o poly1305_avx2.o poly1305_avx                                                                                        2.s
poly1305_avx2.s: Assembler messages:
poly1305_avx2.s:277: Error: suffix or operands invalid for `vpunpcklqdq'
poly1305_avx2.s:278: Error: suffix or operands invalid for `vpunpckhqdq'
poly1305_avx2.s:280: Error: no such instruction: `vpermq $216,%ymm7,%ymm7'
poly1305_avx2.s:281: Error: no such instruction: `vpermq $216,%ymm8,%ymm8'
poly1305_avx2.s:283: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:284: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:285: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:287: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:288: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:289: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:291: Error: suffix or operands invalid for `vpsllq'
poly1305_avx2.s:292: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:293: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:294: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:296: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:297: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:298: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:299: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:300: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:301: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:304: Error: no such instruction: `vpbroadcastq 0(%rdi),%ymm5'
poly1305_avx2.s:305: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:306: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:307: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:308: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:309: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:311: Error: no such instruction: `vpbroadcastq 160(%rdi),%ymm5'
poly1305_avx2.s:312: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:313: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:314: Error: no such instruction: `vpbroadcastq 32(%rdi),%ymm5'
poly1305_avx2.s:315: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:316: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:317: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:318: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:319: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:320: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:321: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:322: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:324: Error: no such instruction: `vpbroadcastq 192(%rdi),%ymm5'
poly1305_avx2.s:325: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:326: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:327: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:328: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:329: Error: no such instruction: `vpbroadcastq 64(%rdi),%ymm5'
poly1305_avx2.s:330: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:331: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:332: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:333: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:334: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:335: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:337: Error: no such instruction: `vpbroadcastq 224(%rdi),%ymm5'
poly1305_avx2.s:338: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:339: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:340: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:341: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:342: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:343: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:344: Error: no such instruction: `vpbroadcastq 96(%rdi),%ymm5'
poly1305_avx2.s:345: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:346: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:347: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:348: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:350: Error: no such instruction: `vpbroadcastq 256(%rdi),%ymm5'
poly1305_avx2.s:351: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:352: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:353: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:354: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:355: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:356: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:357: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:358: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:359: Error: no such instruction: `vpbroadcastq 128(%rdi),%ymm5'
poly1305_avx2.s:360: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:361: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:363: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:364: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:365: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:367: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:368: Error: suffix or operands invalid for `vpsllq'
poly1305_avx2.s:369: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:370: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:371: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:373: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:374: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:375: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:376: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:377: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:378: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:379: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:380: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:381: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:382: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:383: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:384: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:396: Error: suffix or operands invalid for `vpunpcklqdq'
poly1305_avx2.s:397: Error: suffix or operands invalid for `vpunpckhqdq'
poly1305_avx2.s:399: Error: no such instruction: `vpermq $216,%ymm7,%ymm7'
poly1305_avx2.s:400: Error: no such instruction: `vpermq $216,%ymm8,%ymm8'
poly1305_avx2.s:402: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:403: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:404: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:406: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:407: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:408: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:410: Error: suffix or operands invalid for `vpsllq'
poly1305_avx2.s:411: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:412: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:413: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:415: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:416: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:417: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:418: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:419: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:420: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:424: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:425: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:426: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:427: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:428: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:431: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:432: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:434: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:435: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:436: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:437: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:438: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:439: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:440: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:441: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:444: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:445: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:446: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:447: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:449: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:450: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:451: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:452: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:453: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:454: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:457: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:458: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:459: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:460: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:461: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:462: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:464: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:465: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:466: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:467: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:470: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:471: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:472: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:473: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:474: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:475: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:476: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:477: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:479: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:480: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:482: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:483: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:484: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:485: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:486: Error: suffix or operands invalid for `vpsllq'
poly1305_avx2.s:487: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:488: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:489: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:490: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:491: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:492: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:493: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:494: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:495: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:496: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:497: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:498: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:499: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:500: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:501: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:503: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:504: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:505: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:506: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:507: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:509: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:510: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:511: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:512: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:513: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:515: Error: no such instruction: `vpermq $170,%ymm0,%ymm7'
poly1305_avx2.s:516: Error: no such instruction: `vpermq $170,%ymm1,%ymm8'
poly1305_avx2.s:517: Error: no such instruction: `vpermq $170,%ymm2,%ymm9'
poly1305_avx2.s:518: Error: no such instruction: `vpermq $170,%ymm3,%ymm10'
poly1305_avx2.s:519: Error: no such instruction: `vpermq $170,%ymm4,%ymm11'
poly1305_avx2.s:521: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:522: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:523: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:524: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:525: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:542: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:574: Error: suffix or operands invalid for `vpunpcklqdq'
poly1305_avx2.s:575: Error: suffix or operands invalid for `vpunpckhqdq'
poly1305_avx2.s:584: Error: no such instruction: `vpermq $196,%ymm14,%ymm14'
poly1305_avx2.s:587: Error: suffix or operands invalid for `vpunpcklqdq'
poly1305_avx2.s:588: Error: suffix or operands invalid for `vpunpckhqdq'
poly1305_avx2.s:595: Error: no such instruction: `vpermq $64,%ymm14,%ymm14'
poly1305_avx2.s:598: Error: suffix or operands invalid for `vpunpcklqdq'
poly1305_avx2.s:599: Error: suffix or operands invalid for `vpunpckhqdq'
poly1305_avx2.s:604: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:605: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:606: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:608: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:609: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:610: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:612: Error: suffix or operands invalid for `vpsllq'
poly1305_avx2.s:613: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:614: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:615: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:617: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:618: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:619: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:620: Error: suffix or operands invalid for `vpxor'
poly1305_avx2.s:621: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:622: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:626: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:627: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:628: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:629: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:630: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:631: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:634: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:635: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:636: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:638: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:639: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:640: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:641: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:642: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:643: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:644: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:645: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:646: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:649: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:650: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:651: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:652: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:653: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:655: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:656: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:657: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:658: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:659: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:660: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:661: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:664: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:665: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:666: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:667: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:668: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:669: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:670: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:672: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:673: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:674: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:675: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:676: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:679: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:680: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:681: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:682: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:683: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:684: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:685: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:686: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:687: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:689: Error: no such instruction: `vpermd %ymm5,%ymm13,%ymm5'
poly1305_avx2.s:690: Error: suffix or operands invalid for `vpmuludq'
poly1305_avx2.s:691: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:693: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:694: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:695: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:696: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:697: Error: suffix or operands invalid for `vpsllq'
poly1305_avx2.s:698: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:699: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:700: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:701: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:702: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:703: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:704: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:705: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:706: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:707: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:708: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:709: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:710: Error: suffix or operands invalid for `vpsrlq'
poly1305_avx2.s:711: Error: suffix or operands invalid for `vpand'
poly1305_avx2.s:712: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:714: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:715: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:716: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:717: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:718: Error: suffix or operands invalid for `vpsrldq'
poly1305_avx2.s:720: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:721: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:722: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:723: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:724: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:726: Error: no such instruction: `vpermq $170,%ymm0,%ymm7'
poly1305_avx2.s:727: Error: no such instruction: `vpermq $170,%ymm1,%ymm8'
poly1305_avx2.s:728: Error: no such instruction: `vpermq $170,%ymm2,%ymm9'
poly1305_avx2.s:729: Error: no such instruction: `vpermq $170,%ymm3,%ymm10'
poly1305_avx2.s:730: Error: no such instruction: `vpermq $170,%ymm4,%ymm11'
poly1305_avx2.s:732: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:733: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:734: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:735: Error: suffix or operands invalid for `vpaddq'
poly1305_avx2.s:736: Error: suffix or operands invalid for `vpaddq'
make[2]: *** [poly1305_avx2.o] Error 1
make[2]: Leaving directory `/root/openssl-1.0.2/crypto/chacha20poly1305'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/root/openssl-1.0.2/crypto'
make: *** [build_crypto] Error 1
[root@vpsa openssl-1.0.2]#