diff options
30 files changed, 132 insertions, 110 deletions
diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl index 78ba20ca59..299214800b 100755 --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | |||
@@ -318,7 +318,7 @@ $code.=<<___; | |||
318 | .type _x86_64_AES_encrypt,\@abi-omnipotent | 318 | .type _x86_64_AES_encrypt,\@abi-omnipotent |
319 | .align 16 | 319 | .align 16 |
320 | _x86_64_AES_encrypt: | 320 | _x86_64_AES_encrypt: |
321 | endbr64 | 321 | _CET_ENDBR |
322 | xor 0($key),$s0 # xor with key | 322 | xor 0($key),$s0 # xor with key |
323 | xor 4($key),$s1 | 323 | xor 4($key),$s1 |
324 | xor 8($key),$s2 | 324 | xor 8($key),$s2 |
@@ -549,7 +549,7 @@ $code.=<<___; | |||
549 | .type _x86_64_AES_encrypt_compact,\@abi-omnipotent | 549 | .type _x86_64_AES_encrypt_compact,\@abi-omnipotent |
550 | .align 16 | 550 | .align 16 |
551 | _x86_64_AES_encrypt_compact: | 551 | _x86_64_AES_encrypt_compact: |
552 | endbr64 | 552 | _CET_ENDBR |
553 | lea 128($sbox),$inp # size optimization | 553 | lea 128($sbox),$inp # size optimization |
554 | mov 0-128($inp),$acc1 # prefetch Te4 | 554 | mov 0-128($inp),$acc1 # prefetch Te4 |
555 | mov 32-128($inp),$acc2 | 555 | mov 32-128($inp),$acc2 |
@@ -595,7 +595,7 @@ $code.=<<___; | |||
595 | .hidden asm_AES_encrypt | 595 | .hidden asm_AES_encrypt |
596 | asm_AES_encrypt: | 596 | asm_AES_encrypt: |
597 | AES_encrypt: | 597 | AES_encrypt: |
598 | endbr64 | 598 | _CET_ENDBR |
599 | push %rbx | 599 | push %rbx |
600 | push %rbp | 600 | push %rbp |
601 | push %r12 | 601 | push %r12 |
@@ -887,7 +887,7 @@ $code.=<<___; | |||
887 | .type _x86_64_AES_decrypt,\@abi-omnipotent | 887 | .type _x86_64_AES_decrypt,\@abi-omnipotent |
888 | .align 16 | 888 | .align 16 |
889 | _x86_64_AES_decrypt: | 889 | _x86_64_AES_decrypt: |
890 | endbr64 | 890 | _CET_ENDBR |
891 | xor 0($key),$s0 # xor with key | 891 | xor 0($key),$s0 # xor with key |
892 | xor 4($key),$s1 | 892 | xor 4($key),$s1 |
893 | xor 8($key),$s2 | 893 | xor 8($key),$s2 |
@@ -1142,7 +1142,7 @@ $code.=<<___; | |||
1142 | .type _x86_64_AES_decrypt_compact,\@abi-omnipotent | 1142 | .type _x86_64_AES_decrypt_compact,\@abi-omnipotent |
1143 | .align 16 | 1143 | .align 16 |
1144 | _x86_64_AES_decrypt_compact: | 1144 | _x86_64_AES_decrypt_compact: |
1145 | endbr64 | 1145 | _CET_ENDBR |
1146 | lea 128($sbox),$inp # size optimization | 1146 | lea 128($sbox),$inp # size optimization |
1147 | mov 0-128($inp),$acc1 # prefetch Td4 | 1147 | mov 0-128($inp),$acc1 # prefetch Td4 |
1148 | mov 32-128($inp),$acc2 | 1148 | mov 32-128($inp),$acc2 |
@@ -1197,7 +1197,7 @@ $code.=<<___; | |||
1197 | .hidden asm_AES_decrypt | 1197 | .hidden asm_AES_decrypt |
1198 | asm_AES_decrypt: | 1198 | asm_AES_decrypt: |
1199 | AES_decrypt: | 1199 | AES_decrypt: |
1200 | endbr64 | 1200 | _CET_ENDBR |
1201 | push %rbx | 1201 | push %rbx |
1202 | push %rbp | 1202 | push %rbp |
1203 | push %r12 | 1203 | push %r12 |
@@ -1297,7 +1297,7 @@ $code.=<<___; | |||
1297 | .type AES_set_encrypt_key,\@function,3 | 1297 | .type AES_set_encrypt_key,\@function,3 |
1298 | .align 16 | 1298 | .align 16 |
1299 | AES_set_encrypt_key: | 1299 | AES_set_encrypt_key: |
1300 | endbr64 | 1300 | _CET_ENDBR |
1301 | push %rbx | 1301 | push %rbx |
1302 | push %rbp | 1302 | push %rbp |
1303 | push %r12 # redundant, but allows to share | 1303 | push %r12 # redundant, but allows to share |
@@ -1323,7 +1323,7 @@ AES_set_encrypt_key: | |||
1323 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent | 1323 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent |
1324 | .align 16 | 1324 | .align 16 |
1325 | _x86_64_AES_set_encrypt_key: | 1325 | _x86_64_AES_set_encrypt_key: |
1326 | endbr64 | 1326 | _CET_ENDBR |
1327 | mov %esi,%ecx # %ecx=bits | 1327 | mov %esi,%ecx # %ecx=bits |
1328 | mov %rdi,%rsi # %rsi=userKey | 1328 | mov %rdi,%rsi # %rsi=userKey |
1329 | mov %rdx,%rdi # %rdi=key | 1329 | mov %rdx,%rdi # %rdi=key |
@@ -1569,7 +1569,7 @@ $code.=<<___; | |||
1569 | .type AES_set_decrypt_key,\@function,3 | 1569 | .type AES_set_decrypt_key,\@function,3 |
1570 | .align 16 | 1570 | .align 16 |
1571 | AES_set_decrypt_key: | 1571 | AES_set_decrypt_key: |
1572 | endbr64 | 1572 | _CET_ENDBR |
1573 | push %rbx | 1573 | push %rbx |
1574 | push %rbp | 1574 | push %rbp |
1575 | push %r12 | 1575 | push %r12 |
@@ -1669,7 +1669,7 @@ $code.=<<___; | |||
1669 | .hidden asm_AES_cbc_encrypt | 1669 | .hidden asm_AES_cbc_encrypt |
1670 | asm_AES_cbc_encrypt: | 1670 | asm_AES_cbc_encrypt: |
1671 | AES_cbc_encrypt: | 1671 | AES_cbc_encrypt: |
1672 | endbr64 | 1672 | _CET_ENDBR |
1673 | cmp \$0,%rdx # check length | 1673 | cmp \$0,%rdx # check length |
1674 | je .Lcbc_epilogue | 1674 | je .Lcbc_epilogue |
1675 | pushfq | 1675 | pushfq |
@@ -2561,7 +2561,7 @@ $code.=<<___; | |||
2561 | .type block_se_handler,\@abi-omnipotent | 2561 | .type block_se_handler,\@abi-omnipotent |
2562 | .align 16 | 2562 | .align 16 |
2563 | block_se_handler: | 2563 | block_se_handler: |
2564 | endbr64 | 2564 | _CET_ENDBR |
2565 | push %rsi | 2565 | push %rsi |
2566 | push %rdi | 2566 | push %rdi |
2567 | push %rbx | 2567 | push %rbx |
@@ -2620,7 +2620,7 @@ block_se_handler: | |||
2620 | .type key_se_handler,\@abi-omnipotent | 2620 | .type key_se_handler,\@abi-omnipotent |
2621 | .align 16 | 2621 | .align 16 |
2622 | key_se_handler: | 2622 | key_se_handler: |
2623 | endbr64 | 2623 | _CET_ENDBR |
2624 | push %rsi | 2624 | push %rsi |
2625 | push %rdi | 2625 | push %rdi |
2626 | push %rbx | 2626 | push %rbx |
@@ -2678,7 +2678,7 @@ key_se_handler: | |||
2678 | .type cbc_se_handler,\@abi-omnipotent | 2678 | .type cbc_se_handler,\@abi-omnipotent |
2679 | .align 16 | 2679 | .align 16 |
2680 | cbc_se_handler: | 2680 | cbc_se_handler: |
2681 | endbr64 | 2681 | _CET_ENDBR |
2682 | push %rsi | 2682 | push %rsi |
2683 | push %rdi | 2683 | push %rdi |
2684 | push %rbx | 2684 | push %rbx |
diff --git a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl index 879d16793f..5eb5b7bf65 100644 --- a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | |||
@@ -89,7 +89,7 @@ $code.=<<___; | |||
89 | .type aesni_cbc_sha1_enc,\@abi-omnipotent | 89 | .type aesni_cbc_sha1_enc,\@abi-omnipotent |
90 | .align 16 | 90 | .align 16 |
91 | aesni_cbc_sha1_enc: | 91 | aesni_cbc_sha1_enc: |
92 | endbr64 | 92 | _CET_ENDBR |
93 | # caller should check for SSSE3 and AES-NI bits | 93 | # caller should check for SSSE3 and AES-NI bits |
94 | mov OPENSSL_ia32cap_P+0(%rip),%r10d | 94 | mov OPENSSL_ia32cap_P+0(%rip),%r10d |
95 | mov OPENSSL_ia32cap_P+4(%rip),%r11d | 95 | mov OPENSSL_ia32cap_P+4(%rip),%r11d |
@@ -133,7 +133,7 @@ $code.=<<___; | |||
133 | .type aesni_cbc_sha1_enc_ssse3,\@function,6 | 133 | .type aesni_cbc_sha1_enc_ssse3,\@function,6 |
134 | .align 16 | 134 | .align 16 |
135 | aesni_cbc_sha1_enc_ssse3: | 135 | aesni_cbc_sha1_enc_ssse3: |
136 | endbr64 | 136 | _CET_ENDBR |
137 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument | 137 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument |
138 | #shr \$6,$len # debugging artefact | 138 | #shr \$6,$len # debugging artefact |
139 | #jz .Lepilogue_ssse3 # debugging artefact | 139 | #jz .Lepilogue_ssse3 # debugging artefact |
@@ -652,7 +652,7 @@ $code.=<<___; | |||
652 | .type aesni_cbc_sha1_enc_avx,\@function,6 | 652 | .type aesni_cbc_sha1_enc_avx,\@function,6 |
653 | .align 16 | 653 | .align 16 |
654 | aesni_cbc_sha1_enc_avx: | 654 | aesni_cbc_sha1_enc_avx: |
655 | endbr64 | 655 | _CET_ENDBR |
656 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument | 656 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument |
657 | #shr \$6,$len # debugging artefact | 657 | #shr \$6,$len # debugging artefact |
658 | #jz .Lepilogue_avx # debugging artefact | 658 | #jz .Lepilogue_avx # debugging artefact |
@@ -1103,7 +1103,7 @@ $code.=<<___; | |||
1103 | .type ssse3_handler,\@abi-omnipotent | 1103 | .type ssse3_handler,\@abi-omnipotent |
1104 | .align 16 | 1104 | .align 16 |
1105 | ssse3_handler: | 1105 | ssse3_handler: |
1106 | endbr64 | 1106 | _CET_ENDBR |
1107 | push %rsi | 1107 | push %rsi |
1108 | push %rdi | 1108 | push %rdi |
1109 | push %rbx | 1109 | push %rbx |
diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl index 07d40a84ab..43013a51fb 100644 --- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | |||
@@ -242,7 +242,7 @@ $code.=<<___; | |||
242 | .type ${PREFIX}_encrypt,\@abi-omnipotent | 242 | .type ${PREFIX}_encrypt,\@abi-omnipotent |
243 | .align 16 | 243 | .align 16 |
244 | ${PREFIX}_encrypt: | 244 | ${PREFIX}_encrypt: |
245 | endbr64 | 245 | _CET_ENDBR |
246 | movups ($inp),$inout0 # load input | 246 | movups ($inp),$inout0 # load input |
247 | mov 240($key),$rounds # key->rounds | 247 | mov 240($key),$rounds # key->rounds |
248 | ___ | 248 | ___ |
@@ -256,7 +256,7 @@ $code.=<<___; | |||
256 | .type ${PREFIX}_decrypt,\@abi-omnipotent | 256 | .type ${PREFIX}_decrypt,\@abi-omnipotent |
257 | .align 16 | 257 | .align 16 |
258 | ${PREFIX}_decrypt: | 258 | ${PREFIX}_decrypt: |
259 | endbr64 | 259 | _CET_ENDBR |
260 | movups ($inp),$inout0 # load input | 260 | movups ($inp),$inout0 # load input |
261 | mov 240($key),$rounds # key->rounds | 261 | mov 240($key),$rounds # key->rounds |
262 | ___ | 262 | ___ |
@@ -286,7 +286,7 @@ $code.=<<___; | |||
286 | .type _aesni_${dir}rypt3,\@abi-omnipotent | 286 | .type _aesni_${dir}rypt3,\@abi-omnipotent |
287 | .align 16 | 287 | .align 16 |
288 | _aesni_${dir}rypt3: | 288 | _aesni_${dir}rypt3: |
289 | endbr64 | 289 | _CET_ENDBR |
290 | $movkey ($key),$rndkey0 | 290 | $movkey ($key),$rndkey0 |
291 | shr \$1,$rounds | 291 | shr \$1,$rounds |
292 | $movkey 16($key),$rndkey1 | 292 | $movkey 16($key),$rndkey1 |
@@ -331,7 +331,7 @@ $code.=<<___; | |||
331 | .type _aesni_${dir}rypt4,\@abi-omnipotent | 331 | .type _aesni_${dir}rypt4,\@abi-omnipotent |
332 | .align 16 | 332 | .align 16 |
333 | _aesni_${dir}rypt4: | 333 | _aesni_${dir}rypt4: |
334 | endbr64 | 334 | _CET_ENDBR |
335 | $movkey ($key),$rndkey0 | 335 | $movkey ($key),$rndkey0 |
336 | shr \$1,$rounds | 336 | shr \$1,$rounds |
337 | $movkey 16($key),$rndkey1 | 337 | $movkey 16($key),$rndkey1 |
@@ -377,7 +377,7 @@ $code.=<<___; | |||
377 | .type _aesni_${dir}rypt6,\@abi-omnipotent | 377 | .type _aesni_${dir}rypt6,\@abi-omnipotent |
378 | .align 16 | 378 | .align 16 |
379 | _aesni_${dir}rypt6: | 379 | _aesni_${dir}rypt6: |
380 | endbr64 | 380 | _CET_ENDBR |
381 | $movkey ($key),$rndkey0 | 381 | $movkey ($key),$rndkey0 |
382 | shr \$1,$rounds | 382 | shr \$1,$rounds |
383 | $movkey 16($key),$rndkey1 | 383 | $movkey 16($key),$rndkey1 |
@@ -442,7 +442,7 @@ $code.=<<___; | |||
442 | .type _aesni_${dir}rypt8,\@abi-omnipotent | 442 | .type _aesni_${dir}rypt8,\@abi-omnipotent |
443 | .align 16 | 443 | .align 16 |
444 | _aesni_${dir}rypt8: | 444 | _aesni_${dir}rypt8: |
445 | endbr64 | 445 | _CET_ENDBR |
446 | $movkey ($key),$rndkey0 | 446 | $movkey ($key),$rndkey0 |
447 | shr \$1,$rounds | 447 | shr \$1,$rounds |
448 | $movkey 16($key),$rndkey1 | 448 | $movkey 16($key),$rndkey1 |
@@ -531,7 +531,7 @@ $code.=<<___; | |||
531 | .type aesni_ecb_encrypt,\@function,5 | 531 | .type aesni_ecb_encrypt,\@function,5 |
532 | .align 16 | 532 | .align 16 |
533 | aesni_ecb_encrypt: | 533 | aesni_ecb_encrypt: |
534 | endbr64 | 534 | _CET_ENDBR |
535 | and \$-16,$len | 535 | and \$-16,$len |
536 | jz .Lecb_ret | 536 | jz .Lecb_ret |
537 | 537 | ||
@@ -837,7 +837,7 @@ $code.=<<___; | |||
837 | .type aesni_ccm64_encrypt_blocks,\@function,6 | 837 | .type aesni_ccm64_encrypt_blocks,\@function,6 |
838 | .align 16 | 838 | .align 16 |
839 | aesni_ccm64_encrypt_blocks: | 839 | aesni_ccm64_encrypt_blocks: |
840 | endbr64 | 840 | _CET_ENDBR |
841 | ___ | 841 | ___ |
842 | $code.=<<___ if ($win64); | 842 | $code.=<<___ if ($win64); |
843 | lea -0x58(%rsp),%rsp | 843 | lea -0x58(%rsp),%rsp |
@@ -1025,7 +1025,7 @@ $code.=<<___; | |||
1025 | .type aesni_ctr32_encrypt_blocks,\@function,5 | 1025 | .type aesni_ctr32_encrypt_blocks,\@function,5 |
1026 | .align 16 | 1026 | .align 16 |
1027 | aesni_ctr32_encrypt_blocks: | 1027 | aesni_ctr32_encrypt_blocks: |
1028 | endbr64 | 1028 | _CET_ENDBR |
1029 | lea (%rsp),%rax | 1029 | lea (%rsp),%rax |
1030 | push %rbp | 1030 | push %rbp |
1031 | sub \$$frame_size,%rsp | 1031 | sub \$$frame_size,%rsp |
@@ -2487,7 +2487,7 @@ $code.=<<___; | |||
2487 | .type ${PREFIX}_set_decrypt_key,\@abi-omnipotent | 2487 | .type ${PREFIX}_set_decrypt_key,\@abi-omnipotent |
2488 | .align 16 | 2488 | .align 16 |
2489 | ${PREFIX}_set_decrypt_key: | 2489 | ${PREFIX}_set_decrypt_key: |
2490 | endbr64 | 2490 | _CET_ENDBR |
2491 | sub \$8,%rsp | 2491 | sub \$8,%rsp |
2492 | call __aesni_set_encrypt_key | 2492 | call __aesni_set_encrypt_key |
2493 | shl \$4,$bits # rounds-1 after _aesni_set_encrypt_key | 2493 | shl \$4,$bits # rounds-1 after _aesni_set_encrypt_key |
@@ -2538,7 +2538,7 @@ $code.=<<___; | |||
2538 | .type ${PREFIX}_set_encrypt_key,\@abi-omnipotent | 2538 | .type ${PREFIX}_set_encrypt_key,\@abi-omnipotent |
2539 | .align 16 | 2539 | .align 16 |
2540 | ${PREFIX}_set_encrypt_key: | 2540 | ${PREFIX}_set_encrypt_key: |
2541 | endbr64 | 2541 | _CET_ENDBR |
2542 | __aesni_set_encrypt_key: | 2542 | __aesni_set_encrypt_key: |
2543 | sub \$8,%rsp | 2543 | sub \$8,%rsp |
2544 | mov \$-1,%rax | 2544 | mov \$-1,%rax |
@@ -2760,7 +2760,7 @@ $code.=<<___ if ($PREFIX eq "aesni"); | |||
2760 | .type ecb_se_handler,\@abi-omnipotent | 2760 | .type ecb_se_handler,\@abi-omnipotent |
2761 | .align 16 | 2761 | .align 16 |
2762 | ecb_se_handler: | 2762 | ecb_se_handler: |
2763 | endbr64 | 2763 | _CET_ENDBR |
2764 | push %rsi | 2764 | push %rsi |
2765 | push %rdi | 2765 | push %rdi |
2766 | push %rbx | 2766 | push %rbx |
@@ -2780,7 +2780,7 @@ ecb_se_handler: | |||
2780 | .type ccm64_se_handler,\@abi-omnipotent | 2780 | .type ccm64_se_handler,\@abi-omnipotent |
2781 | .align 16 | 2781 | .align 16 |
2782 | ccm64_se_handler: | 2782 | ccm64_se_handler: |
2783 | endbr64 | 2783 | _CET_ENDBR |
2784 | push %rsi | 2784 | push %rsi |
2785 | push %rdi | 2785 | push %rdi |
2786 | push %rbx | 2786 | push %rbx |
@@ -2822,7 +2822,7 @@ ccm64_se_handler: | |||
2822 | .type ctr32_se_handler,\@abi-omnipotent | 2822 | .type ctr32_se_handler,\@abi-omnipotent |
2823 | .align 16 | 2823 | .align 16 |
2824 | ctr32_se_handler: | 2824 | ctr32_se_handler: |
2825 | endbr64 | 2825 | _CET_ENDBR |
2826 | push %rsi | 2826 | push %rsi |
2827 | push %rdi | 2827 | push %rdi |
2828 | push %rbx | 2828 | push %rbx |
@@ -2858,7 +2858,7 @@ ctr32_se_handler: | |||
2858 | .type xts_se_handler,\@abi-omnipotent | 2858 | .type xts_se_handler,\@abi-omnipotent |
2859 | .align 16 | 2859 | .align 16 |
2860 | xts_se_handler: | 2860 | xts_se_handler: |
2861 | endbr64 | 2861 | _CET_ENDBR |
2862 | push %rsi | 2862 | push %rsi |
2863 | push %rdi | 2863 | push %rdi |
2864 | push %rbx | 2864 | push %rbx |
@@ -2900,7 +2900,7 @@ $code.=<<___; | |||
2900 | .type cbc_se_handler,\@abi-omnipotent | 2900 | .type cbc_se_handler,\@abi-omnipotent |
2901 | .align 16 | 2901 | .align 16 |
2902 | cbc_se_handler: | 2902 | cbc_se_handler: |
2903 | endbr64 | 2903 | _CET_ENDBR |
2904 | push %rsi | 2904 | push %rsi |
2905 | push %rdi | 2905 | push %rdi |
2906 | push %rbx | 2906 | push %rbx |
diff --git a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl index 7098ba27f4..c44a338114 100644 --- a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | |||
@@ -813,7 +813,7 @@ $code.=<<___; | |||
813 | .type _bsaes_encrypt8,\@abi-omnipotent | 813 | .type _bsaes_encrypt8,\@abi-omnipotent |
814 | .align 64 | 814 | .align 64 |
815 | _bsaes_encrypt8: | 815 | _bsaes_encrypt8: |
816 | endbr64 | 816 | _CET_ENDBR |
817 | lea .LBS0(%rip), $const # constants table | 817 | lea .LBS0(%rip), $const # constants table |
818 | 818 | ||
819 | movdqa ($key), @XMM[9] # round 0 key | 819 | movdqa ($key), @XMM[9] # round 0 key |
@@ -878,7 +878,7 @@ $code.=<<___; | |||
878 | .type _bsaes_decrypt8,\@abi-omnipotent | 878 | .type _bsaes_decrypt8,\@abi-omnipotent |
879 | .align 64 | 879 | .align 64 |
880 | _bsaes_decrypt8: | 880 | _bsaes_decrypt8: |
881 | endbr64 | 881 | _CET_ENDBR |
882 | lea .LBS0(%rip), $const # constants table | 882 | lea .LBS0(%rip), $const # constants table |
883 | 883 | ||
884 | movdqa ($key), @XMM[9] # round 0 key | 884 | movdqa ($key), @XMM[9] # round 0 key |
@@ -970,7 +970,7 @@ $code.=<<___; | |||
970 | .type _bsaes_key_convert,\@abi-omnipotent | 970 | .type _bsaes_key_convert,\@abi-omnipotent |
971 | .align 16 | 971 | .align 16 |
972 | _bsaes_key_convert: | 972 | _bsaes_key_convert: |
973 | endbr64 | 973 | _CET_ENDBR |
974 | lea .Lmasks(%rip), $const | 974 | lea .Lmasks(%rip), $const |
975 | movdqu ($inp), %xmm7 # load round 0 key | 975 | movdqu ($inp), %xmm7 # load round 0 key |
976 | lea 0x10($inp), $inp | 976 | lea 0x10($inp), $inp |
@@ -1060,7 +1060,7 @@ $code.=<<___; | |||
1060 | .type bsaes_enc_key_convert,\@function,2 | 1060 | .type bsaes_enc_key_convert,\@function,2 |
1061 | .align 16 | 1061 | .align 16 |
1062 | bsaes_enc_key_convert: | 1062 | bsaes_enc_key_convert: |
1063 | endbr64 | 1063 | _CET_ENDBR |
1064 | mov 240($inp),%r10d # pass rounds | 1064 | mov 240($inp),%r10d # pass rounds |
1065 | mov $inp,%rcx # pass key | 1065 | mov $inp,%rcx # pass key |
1066 | mov $out,%rax # pass key schedule | 1066 | mov $out,%rax # pass key schedule |
@@ -1075,7 +1075,7 @@ bsaes_enc_key_convert: | |||
1075 | .align 16 | 1075 | .align 16 |
1076 | bsaes_encrypt_128: | 1076 | bsaes_encrypt_128: |
1077 | .Lenc128_loop: | 1077 | .Lenc128_loop: |
1078 | endbr64 | 1078 | _CET_ENDBR |
1079 | movdqu 0x00($inp), @XMM[0] # load input | 1079 | movdqu 0x00($inp), @XMM[0] # load input |
1080 | movdqu 0x10($inp), @XMM[1] | 1080 | movdqu 0x10($inp), @XMM[1] |
1081 | movdqu 0x20($inp), @XMM[2] | 1081 | movdqu 0x20($inp), @XMM[2] |
@@ -1108,7 +1108,7 @@ bsaes_encrypt_128: | |||
1108 | .type bsaes_dec_key_convert,\@function,2 | 1108 | .type bsaes_dec_key_convert,\@function,2 |
1109 | .align 16 | 1109 | .align 16 |
1110 | bsaes_dec_key_convert: | 1110 | bsaes_dec_key_convert: |
1111 | endbr64 | 1111 | _CET_ENDBR |
1112 | mov 240($inp),%r10d # pass rounds | 1112 | mov 240($inp),%r10d # pass rounds |
1113 | mov $inp,%rcx # pass key | 1113 | mov $inp,%rcx # pass key |
1114 | mov $out,%rax # pass key schedule | 1114 | mov $out,%rax # pass key schedule |
@@ -1123,7 +1123,7 @@ bsaes_dec_key_convert: | |||
1123 | .type bsaes_decrypt_128,\@function,4 | 1123 | .type bsaes_decrypt_128,\@function,4 |
1124 | .align 16 | 1124 | .align 16 |
1125 | bsaes_decrypt_128: | 1125 | bsaes_decrypt_128: |
1126 | endbr64 | 1126 | _CET_ENDBR |
1127 | .Ldec128_loop: | 1127 | .Ldec128_loop: |
1128 | movdqu 0x00($inp), @XMM[0] # load input | 1128 | movdqu 0x00($inp), @XMM[0] # load input |
1129 | movdqu 0x10($inp), @XMM[1] | 1129 | movdqu 0x10($inp), @XMM[1] |
@@ -1169,7 +1169,7 @@ $code.=<<___; | |||
1169 | .type bsaes_ecb_encrypt_blocks,\@abi-omnipotent | 1169 | .type bsaes_ecb_encrypt_blocks,\@abi-omnipotent |
1170 | .align 16 | 1170 | .align 16 |
1171 | bsaes_ecb_encrypt_blocks: | 1171 | bsaes_ecb_encrypt_blocks: |
1172 | endbr64 | 1172 | _CET_ENDBR |
1173 | mov %rsp, %rax | 1173 | mov %rsp, %rax |
1174 | .Lecb_enc_prologue: | 1174 | .Lecb_enc_prologue: |
1175 | push %rbp | 1175 | push %rbp |
@@ -1371,7 +1371,7 @@ $code.=<<___; | |||
1371 | .type bsaes_ecb_decrypt_blocks,\@abi-omnipotent | 1371 | .type bsaes_ecb_decrypt_blocks,\@abi-omnipotent |
1372 | .align 16 | 1372 | .align 16 |
1373 | bsaes_ecb_decrypt_blocks: | 1373 | bsaes_ecb_decrypt_blocks: |
1374 | endbr64 | 1374 | _CET_ENDBR |
1375 | mov %rsp, %rax | 1375 | mov %rsp, %rax |
1376 | .Lecb_dec_prologue: | 1376 | .Lecb_dec_prologue: |
1377 | push %rbp | 1377 | push %rbp |
@@ -1577,7 +1577,7 @@ $code.=<<___; | |||
1577 | .type bsaes_cbc_encrypt,\@abi-omnipotent | 1577 | .type bsaes_cbc_encrypt,\@abi-omnipotent |
1578 | .align 16 | 1578 | .align 16 |
1579 | bsaes_cbc_encrypt: | 1579 | bsaes_cbc_encrypt: |
1580 | endbr64 | 1580 | _CET_ENDBR |
1581 | ___ | 1581 | ___ |
1582 | $code.=<<___ if ($win64); | 1582 | $code.=<<___ if ($win64); |
1583 | mov 48(%rsp),$arg6 # pull direction flag | 1583 | mov 48(%rsp),$arg6 # pull direction flag |
@@ -1865,7 +1865,7 @@ $code.=<<___; | |||
1865 | .type bsaes_ctr32_encrypt_blocks,\@abi-omnipotent | 1865 | .type bsaes_ctr32_encrypt_blocks,\@abi-omnipotent |
1866 | .align 16 | 1866 | .align 16 |
1867 | bsaes_ctr32_encrypt_blocks: | 1867 | bsaes_ctr32_encrypt_blocks: |
1868 | endbr64 | 1868 | _CET_ENDBR |
1869 | mov %rsp, %rax | 1869 | mov %rsp, %rax |
1870 | .Lctr_enc_prologue: | 1870 | .Lctr_enc_prologue: |
1871 | push %rbp | 1871 | push %rbp |
@@ -2107,7 +2107,7 @@ $code.=<<___; | |||
2107 | .type bsaes_xts_encrypt,\@abi-omnipotent | 2107 | .type bsaes_xts_encrypt,\@abi-omnipotent |
2108 | .align 16 | 2108 | .align 16 |
2109 | bsaes_xts_encrypt: | 2109 | bsaes_xts_encrypt: |
2110 | endbr64 | 2110 | _CET_ENDBR |
2111 | mov %rsp, %rax | 2111 | mov %rsp, %rax |
2112 | .Lxts_enc_prologue: | 2112 | .Lxts_enc_prologue: |
2113 | push %rbp | 2113 | push %rbp |
@@ -2489,7 +2489,7 @@ $code.=<<___; | |||
2489 | .type bsaes_xts_decrypt,\@abi-omnipotent | 2489 | .type bsaes_xts_decrypt,\@abi-omnipotent |
2490 | .align 16 | 2490 | .align 16 |
2491 | bsaes_xts_decrypt: | 2491 | bsaes_xts_decrypt: |
2492 | endbr64 | 2492 | _CET_ENDBR |
2493 | mov %rsp, %rax | 2493 | mov %rsp, %rax |
2494 | .Lxts_dec_prologue: | 2494 | .Lxts_dec_prologue: |
2495 | push %rbp | 2495 | push %rbp |
@@ -2966,7 +2966,7 @@ $code.=<<___; | |||
2966 | .type se_handler,\@abi-omnipotent | 2966 | .type se_handler,\@abi-omnipotent |
2967 | .align 16 | 2967 | .align 16 |
2968 | se_handler: | 2968 | se_handler: |
2969 | endbr64 | 2969 | _CET_ENDBR |
2970 | push %rsi | 2970 | push %rsi |
2971 | push %rdi | 2971 | push %rdi |
2972 | push %rbx | 2972 | push %rbx |
diff --git a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl index 8ff8d8602b..7d92e8d8ca 100644 --- a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl +++ b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | |||
@@ -82,7 +82,7 @@ $code.=<<___; | |||
82 | .type _vpaes_encrypt_core,\@abi-omnipotent | 82 | .type _vpaes_encrypt_core,\@abi-omnipotent |
83 | .align 16 | 83 | .align 16 |
84 | _vpaes_encrypt_core: | 84 | _vpaes_encrypt_core: |
85 | endbr64 | 85 | _CET_ENDBR |
86 | mov %rdx, %r9 | 86 | mov %rdx, %r9 |
87 | mov \$16, %r11 | 87 | mov \$16, %r11 |
88 | mov 240(%rdx),%eax | 88 | mov 240(%rdx),%eax |
@@ -173,7 +173,7 @@ _vpaes_encrypt_core: | |||
173 | .type _vpaes_decrypt_core,\@abi-omnipotent | 173 | .type _vpaes_decrypt_core,\@abi-omnipotent |
174 | .align 16 | 174 | .align 16 |
175 | _vpaes_decrypt_core: | 175 | _vpaes_decrypt_core: |
176 | endbr64 | 176 | _CET_ENDBR |
177 | mov %rdx, %r9 # load key | 177 | mov %rdx, %r9 # load key |
178 | mov 240(%rdx),%eax | 178 | mov 240(%rdx),%eax |
179 | movdqa %xmm9, %xmm1 | 179 | movdqa %xmm9, %xmm1 |
@@ -281,7 +281,7 @@ _vpaes_decrypt_core: | |||
281 | .type _vpaes_schedule_core,\@abi-omnipotent | 281 | .type _vpaes_schedule_core,\@abi-omnipotent |
282 | .align 16 | 282 | .align 16 |
283 | _vpaes_schedule_core: | 283 | _vpaes_schedule_core: |
284 | endbr64 | 284 | _CET_ENDBR |
285 | # rdi = key | 285 | # rdi = key |
286 | # rsi = size in bits | 286 | # rsi = size in bits |
287 | # rdx = buffer | 287 | # rdx = buffer |
@@ -467,7 +467,7 @@ _vpaes_schedule_core: | |||
467 | .type _vpaes_schedule_192_smear,\@abi-omnipotent | 467 | .type _vpaes_schedule_192_smear,\@abi-omnipotent |
468 | .align 16 | 468 | .align 16 |
469 | _vpaes_schedule_192_smear: | 469 | _vpaes_schedule_192_smear: |
470 | endbr64 | 470 | _CET_ENDBR |
471 | pshufd \$0x80, %xmm6, %xmm0 # d c 0 0 -> c 0 0 0 | 471 | pshufd \$0x80, %xmm6, %xmm0 # d c 0 0 -> c 0 0 0 |
472 | pxor %xmm0, %xmm6 # -> c+d c 0 0 | 472 | pxor %xmm0, %xmm6 # -> c+d c 0 0 |
473 | pshufd \$0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a | 473 | pshufd \$0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a |
@@ -499,7 +499,7 @@ _vpaes_schedule_192_smear: | |||
499 | .type _vpaes_schedule_round,\@abi-omnipotent | 499 | .type _vpaes_schedule_round,\@abi-omnipotent |
500 | .align 16 | 500 | .align 16 |
501 | _vpaes_schedule_round: | 501 | _vpaes_schedule_round: |
502 | endbr64 | 502 | _CET_ENDBR |
503 | # extract rcon from xmm8 | 503 | # extract rcon from xmm8 |
504 | pxor %xmm1, %xmm1 | 504 | pxor %xmm1, %xmm1 |
505 | palignr \$15, %xmm8, %xmm1 | 505 | palignr \$15, %xmm8, %xmm1 |
@@ -567,7 +567,7 @@ _vpaes_schedule_low_round: | |||
567 | .type _vpaes_schedule_transform,\@abi-omnipotent | 567 | .type _vpaes_schedule_transform,\@abi-omnipotent |
568 | .align 16 | 568 | .align 16 |
569 | _vpaes_schedule_transform: | 569 | _vpaes_schedule_transform: |
570 | endbr64 | 570 | _CET_ENDBR |
571 | movdqa %xmm9, %xmm1 | 571 | movdqa %xmm9, %xmm1 |
572 | pandn %xmm0, %xmm1 | 572 | pandn %xmm0, %xmm1 |
573 | psrld \$4, %xmm1 | 573 | psrld \$4, %xmm1 |
@@ -606,7 +606,7 @@ _vpaes_schedule_transform: | |||
606 | .type _vpaes_schedule_mangle,\@abi-omnipotent | 606 | .type _vpaes_schedule_mangle,\@abi-omnipotent |
607 | .align 16 | 607 | .align 16 |
608 | _vpaes_schedule_mangle: | 608 | _vpaes_schedule_mangle: |
609 | endbr64 | 609 | _CET_ENDBR |
610 | movdqa %xmm0, %xmm4 # save xmm0 for later | 610 | movdqa %xmm0, %xmm4 # save xmm0 for later |
611 | movdqa .Lk_mc_forward(%rip),%xmm5 | 611 | movdqa .Lk_mc_forward(%rip),%xmm5 |
612 | test %rcx, %rcx | 612 | test %rcx, %rcx |
@@ -680,7 +680,7 @@ _vpaes_schedule_mangle: | |||
680 | .type ${PREFIX}_set_encrypt_key,\@function,3 | 680 | .type ${PREFIX}_set_encrypt_key,\@function,3 |
681 | .align 16 | 681 | .align 16 |
682 | ${PREFIX}_set_encrypt_key: | 682 | ${PREFIX}_set_encrypt_key: |
683 | endbr64 | 683 | _CET_ENDBR |
684 | ___ | 684 | ___ |
685 | $code.=<<___ if ($win64); | 685 | $code.=<<___ if ($win64); |
686 | lea -0xb8(%rsp),%rsp | 686 | lea -0xb8(%rsp),%rsp |
@@ -729,7 +729,7 @@ $code.=<<___; | |||
729 | .type ${PREFIX}_set_decrypt_key,\@function,3 | 729 | .type ${PREFIX}_set_decrypt_key,\@function,3 |
730 | .align 16 | 730 | .align 16 |
731 | ${PREFIX}_set_decrypt_key: | 731 | ${PREFIX}_set_decrypt_key: |
732 | endbr64 | 732 | _CET_ENDBR |
733 | ___ | 733 | ___ |
734 | $code.=<<___ if ($win64); | 734 | $code.=<<___ if ($win64); |
735 | lea -0xb8(%rsp),%rsp | 735 | lea -0xb8(%rsp),%rsp |
@@ -783,7 +783,7 @@ $code.=<<___; | |||
783 | .type ${PREFIX}_encrypt,\@function,3 | 783 | .type ${PREFIX}_encrypt,\@function,3 |
784 | .align 16 | 784 | .align 16 |
785 | ${PREFIX}_encrypt: | 785 | ${PREFIX}_encrypt: |
786 | endbr64 | 786 | _CET_ENDBR |
787 | ___ | 787 | ___ |
788 | $code.=<<___ if ($win64); | 788 | $code.=<<___ if ($win64); |
789 | lea -0xb8(%rsp),%rsp | 789 | lea -0xb8(%rsp),%rsp |
@@ -827,7 +827,7 @@ $code.=<<___; | |||
827 | .type ${PREFIX}_decrypt,\@function,3 | 827 | .type ${PREFIX}_decrypt,\@function,3 |
828 | .align 16 | 828 | .align 16 |
829 | ${PREFIX}_decrypt: | 829 | ${PREFIX}_decrypt: |
830 | endbr64 | 830 | _CET_ENDBR |
831 | ___ | 831 | ___ |
832 | $code.=<<___ if ($win64); | 832 | $code.=<<___ if ($win64); |
833 | lea -0xb8(%rsp),%rsp | 833 | lea -0xb8(%rsp),%rsp |
@@ -877,7 +877,7 @@ $code.=<<___; | |||
877 | .type ${PREFIX}_cbc_encrypt,\@function,6 | 877 | .type ${PREFIX}_cbc_encrypt,\@function,6 |
878 | .align 16 | 878 | .align 16 |
879 | ${PREFIX}_cbc_encrypt: | 879 | ${PREFIX}_cbc_encrypt: |
880 | endbr64 | 880 | _CET_ENDBR |
881 | xchg $key,$len | 881 | xchg $key,$len |
882 | ___ | 882 | ___ |
883 | ($len,$key)=($key,$len); | 883 | ($len,$key)=($key,$len); |
@@ -961,7 +961,7 @@ $code.=<<___; | |||
961 | .type _vpaes_preheat,\@abi-omnipotent | 961 | .type _vpaes_preheat,\@abi-omnipotent |
962 | .align 16 | 962 | .align 16 |
963 | _vpaes_preheat: | 963 | _vpaes_preheat: |
964 | endbr64 | 964 | _CET_ENDBR |
965 | lea .Lk_s0F(%rip), %r10 | 965 | lea .Lk_s0F(%rip), %r10 |
966 | movdqa -0x20(%r10), %xmm10 # .Lk_inv | 966 | movdqa -0x20(%r10), %xmm10 # .Lk_inv |
967 | movdqa -0x10(%r10), %xmm11 # .Lk_inv+16 | 967 | movdqa -0x10(%r10), %xmm11 # .Lk_inv+16 |
@@ -1092,7 +1092,7 @@ $code.=<<___; | |||
1092 | .type se_handler,\@abi-omnipotent | 1092 | .type se_handler,\@abi-omnipotent |
1093 | .align 16 | 1093 | .align 16 |
1094 | se_handler: | 1094 | se_handler: |
1095 | endbr64 | 1095 | _CET_ENDBR |
1096 | push %rsi | 1096 | push %rsi |
1097 | push %rdi | 1097 | push %rdi |
1098 | push %rbx | 1098 | push %rbx |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_add.S b/src/lib/libcrypto/bn/arch/amd64/bignum_add.S index 06298ca69e..5fe4aae7a1 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_add.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_add.S | |||
@@ -49,7 +49,7 @@ | |||
49 | 49 | ||
50 | 50 | ||
51 | S2N_BN_SYMBOL(bignum_add): | 51 | S2N_BN_SYMBOL(bignum_add): |
52 | endbr64 | 52 | _CET_ENDBR |
53 | 53 | ||
54 | #if WINDOWS_ABI | 54 | #if WINDOWS_ABI |
55 | push rdi | 55 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S b/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S index 5ad712749f..25ba17bce2 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S | |||
@@ -54,7 +54,7 @@ | |||
54 | 54 | ||
55 | 55 | ||
56 | S2N_BN_SYMBOL(bignum_cmadd): | 56 | S2N_BN_SYMBOL(bignum_cmadd): |
57 | endbr64 | 57 | _CET_ENDBR |
58 | 58 | ||
59 | #if WINDOWS_ABI | 59 | #if WINDOWS_ABI |
60 | push rdi | 60 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S b/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S index 9199c8f48b..12f785d63a 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S | |||
@@ -51,7 +51,7 @@ | |||
51 | 51 | ||
52 | 52 | ||
53 | S2N_BN_SYMBOL(bignum_cmul): | 53 | S2N_BN_SYMBOL(bignum_cmul): |
54 | endbr64 | 54 | _CET_ENDBR |
55 | 55 | ||
56 | #if WINDOWS_ABI | 56 | #if WINDOWS_ABI |
57 | push rdi | 57 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S b/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S index 2d7ed19091..a3552679a2 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S | |||
@@ -59,7 +59,7 @@ | |||
59 | 59 | ||
60 | 60 | ||
61 | S2N_BN_SYMBOL(bignum_mul): | 61 | S2N_BN_SYMBOL(bignum_mul): |
62 | endbr64 | 62 | _CET_ENDBR |
63 | 63 | ||
64 | #if WINDOWS_ABI | 64 | #if WINDOWS_ABI |
65 | push rdi | 65 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S b/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S index f02b09b288..70ff69e372 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S | |||
@@ -72,7 +72,7 @@ | |||
72 | adc h, rdx | 72 | adc h, rdx |
73 | 73 | ||
74 | S2N_BN_SYMBOL(bignum_mul_4_8_alt): | 74 | S2N_BN_SYMBOL(bignum_mul_4_8_alt): |
75 | endbr64 | 75 | _CET_ENDBR |
76 | 76 | ||
77 | #if WINDOWS_ABI | 77 | #if WINDOWS_ABI |
78 | push rdi | 78 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S b/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S index 97be83e1f7..066403b074 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S | |||
@@ -72,7 +72,7 @@ | |||
72 | adc h, rdx | 72 | adc h, rdx |
73 | 73 | ||
74 | S2N_BN_SYMBOL(bignum_mul_8_16_alt): | 74 | S2N_BN_SYMBOL(bignum_mul_8_16_alt): |
75 | endbr64 | 75 | _CET_ENDBR |
76 | 76 | ||
77 | #if WINDOWS_ABI | 77 | #if WINDOWS_ABI |
78 | push rdi | 78 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S index c4a0cabf35..54e3f59442 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S | |||
@@ -62,7 +62,7 @@ | |||
62 | #define llshort ebp | 62 | #define llshort ebp |
63 | 63 | ||
64 | S2N_BN_SYMBOL(bignum_sqr): | 64 | S2N_BN_SYMBOL(bignum_sqr): |
65 | endbr64 | 65 | _CET_ENDBR |
66 | 66 | ||
67 | #if WINDOWS_ABI | 67 | #if WINDOWS_ABI |
68 | push rdi | 68 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S index b228414dce..7c534ae907 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S | |||
@@ -71,7 +71,7 @@ | |||
71 | adc c, 0 | 71 | adc c, 0 |
72 | 72 | ||
73 | S2N_BN_SYMBOL(bignum_sqr_4_8_alt): | 73 | S2N_BN_SYMBOL(bignum_sqr_4_8_alt): |
74 | endbr64 | 74 | _CET_ENDBR |
75 | 75 | ||
76 | #if WINDOWS_ABI | 76 | #if WINDOWS_ABI |
77 | push rdi | 77 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S index 04efeec7e2..ac0b6f96c2 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S | |||
@@ -103,7 +103,7 @@ | |||
103 | adc c, 0 | 103 | adc c, 0 |
104 | 104 | ||
105 | S2N_BN_SYMBOL(bignum_sqr_8_16_alt): | 105 | S2N_BN_SYMBOL(bignum_sqr_8_16_alt): |
106 | endbr64 | 106 | _CET_ENDBR |
107 | 107 | ||
108 | #if WINDOWS_ABI | 108 | #if WINDOWS_ABI |
109 | push rdi | 109 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S b/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S index 11a9bd7edd..3ff8a30510 100644 --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S | |||
@@ -49,7 +49,7 @@ | |||
49 | 49 | ||
50 | 50 | ||
51 | S2N_BN_SYMBOL(bignum_sub): | 51 | S2N_BN_SYMBOL(bignum_sub): |
52 | endbr64 | 52 | _CET_ENDBR |
53 | 53 | ||
54 | #if WINDOWS_ABI | 54 | #if WINDOWS_ABI |
55 | push rdi | 55 | push rdi |
diff --git a/src/lib/libcrypto/bn/arch/amd64/word_clz.S b/src/lib/libcrypto/bn/arch/amd64/word_clz.S index 464a9d90fc..3926fcd4b0 100644 --- a/src/lib/libcrypto/bn/arch/amd64/word_clz.S +++ b/src/lib/libcrypto/bn/arch/amd64/word_clz.S | |||
@@ -30,7 +30,7 @@ | |||
30 | .text | 30 | .text |
31 | 31 | ||
32 | S2N_BN_SYMBOL(word_clz): | 32 | S2N_BN_SYMBOL(word_clz): |
33 | endbr64 | 33 | _CET_ENDBR |
34 | 34 | ||
35 | #if WINDOWS_ABI | 35 | #if WINDOWS_ABI |
36 | push rdi | 36 | push rdi |
diff --git a/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl b/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl index af78fff541..8645d5adcc 100644 --- a/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl +++ b/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl | |||
@@ -347,7 +347,7 @@ $code.=<<___; | |||
347 | .type MULADD_128x512,\@abi-omnipotent | 347 | .type MULADD_128x512,\@abi-omnipotent |
348 | .align 16 | 348 | .align 16 |
349 | MULADD_128x512: | 349 | MULADD_128x512: |
350 | endbr64 | 350 | _CET_ENDBR |
351 | ___ | 351 | ___ |
352 | &MULSTEP_512([map("%r$_",(8..15))], "(+8*0)(%rcx)", "%rsi", "%rbp", "%rbx"); | 352 | &MULSTEP_512([map("%r$_",(8..15))], "(+8*0)(%rcx)", "%rsi", "%rbp", "%rbx"); |
353 | $code.=<<___; | 353 | $code.=<<___; |
@@ -415,7 +415,7 @@ $code.=<<___; | |||
415 | .type mont_reduce,\@abi-omnipotent | 415 | .type mont_reduce,\@abi-omnipotent |
416 | .align 16 | 416 | .align 16 |
417 | mont_reduce: | 417 | mont_reduce: |
418 | endbr64 | 418 | _CET_ENDBR |
419 | ___ | 419 | ___ |
420 | 420 | ||
421 | my $STACK_DEPTH = 8; | 421 | my $STACK_DEPTH = 8; |
@@ -678,7 +678,7 @@ $code.=<<___; | |||
678 | .type mont_mul_a3b,\@abi-omnipotent | 678 | .type mont_mul_a3b,\@abi-omnipotent |
679 | .align 16 | 679 | .align 16 |
680 | mont_mul_a3b: | 680 | mont_mul_a3b: |
681 | endbr64 | 681 | _CET_ENDBR |
682 | # | 682 | # |
683 | # multiply tmp = src1 * src2 | 683 | # multiply tmp = src1 * src2 |
684 | # For multiply: dst = rcx, src1 = rdi, src2 = rsi | 684 | # For multiply: dst = rcx, src1 = rdi, src2 = rsi |
@@ -1080,7 +1080,7 @@ $code.=<<___; | |||
1080 | .type sqr_reduce,\@abi-omnipotent | 1080 | .type sqr_reduce,\@abi-omnipotent |
1081 | .align 16 | 1081 | .align 16 |
1082 | sqr_reduce: | 1082 | sqr_reduce: |
1083 | endbr64 | 1083 | _CET_ENDBR |
1084 | mov (+$pResult_offset+8)(%rsp), %rcx | 1084 | mov (+$pResult_offset+8)(%rsp), %rcx |
1085 | ___ | 1085 | ___ |
1086 | &SQR_512("%rsp+$tmp16_offset+8", "%rcx", [map("%r$_",(10..15,8..9))], "%rbx", "%rbp", "%rsi", "%rdi"); | 1086 | &SQR_512("%rsp+$tmp16_offset+8", "%rcx", [map("%r$_",(10..15,8..9))], "%rbx", "%rbp", "%rsi", "%rdi"); |
@@ -1110,7 +1110,7 @@ $code.=<<___; | |||
1110 | .globl mod_exp_512 | 1110 | .globl mod_exp_512 |
1111 | .type mod_exp_512,\@function,4 | 1111 | .type mod_exp_512,\@function,4 |
1112 | mod_exp_512: | 1112 | mod_exp_512: |
1113 | endbr64 | 1113 | _CET_ENDBR |
1114 | push %rbp | 1114 | push %rbp |
1115 | push %rbx | 1115 | push %rbx |
1116 | push %r12 | 1116 | push %r12 |
diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont.pl b/src/lib/libcrypto/bn/asm/x86_64-mont.pl index 6f5ab331e2..30cfab4fce 100755 --- a/src/lib/libcrypto/bn/asm/x86_64-mont.pl +++ b/src/lib/libcrypto/bn/asm/x86_64-mont.pl | |||
@@ -63,7 +63,7 @@ $code=<<___; | |||
63 | .type bn_mul_mont,\@function,6 | 63 | .type bn_mul_mont,\@function,6 |
64 | .align 16 | 64 | .align 16 |
65 | bn_mul_mont: | 65 | bn_mul_mont: |
66 | endbr64 | 66 | _CET_ENDBR |
67 | test \$3,${num}d | 67 | test \$3,${num}d |
68 | jnz .Lmul_enter | 68 | jnz .Lmul_enter |
69 | cmp \$8,${num}d | 69 | cmp \$8,${num}d |
@@ -279,7 +279,7 @@ $code.=<<___; | |||
279 | .align 16 | 279 | .align 16 |
280 | bn_mul4x_mont: | 280 | bn_mul4x_mont: |
281 | .Lmul4x_enter: | 281 | .Lmul4x_enter: |
282 | endbr64 | 282 | _CET_ENDBR |
283 | push %rbx | 283 | push %rbx |
284 | push %rbp | 284 | push %rbp |
285 | push %r12 | 285 | push %r12 |
@@ -707,7 +707,7 @@ $code.=<<___; | |||
707 | .align 16 | 707 | .align 16 |
708 | bn_sqr4x_mont: | 708 | bn_sqr4x_mont: |
709 | .Lsqr4x_enter: | 709 | .Lsqr4x_enter: |
710 | endbr64 | 710 | _CET_ENDBR |
711 | push %rbx | 711 | push %rbx |
712 | push %rbp | 712 | push %rbp |
713 | push %r12 | 713 | push %r12 |
diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl index 3b3325a6cc..38751ec5de 100755 --- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl +++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | |||
@@ -57,7 +57,7 @@ $code=<<___; | |||
57 | .type bn_mul_mont_gather5,\@function,6 | 57 | .type bn_mul_mont_gather5,\@function,6 |
58 | .align 64 | 58 | .align 64 |
59 | bn_mul_mont_gather5: | 59 | bn_mul_mont_gather5: |
60 | endbr64 | 60 | _CET_ENDBR |
61 | test \$3,${num}d | 61 | test \$3,${num}d |
62 | jnz .Lmul_enter | 62 | jnz .Lmul_enter |
63 | cmp \$8,${num}d | 63 | cmp \$8,${num}d |
@@ -388,7 +388,7 @@ $code.=<<___; | |||
388 | .type bn_mul4x_mont_gather5,\@function,6 | 388 | .type bn_mul4x_mont_gather5,\@function,6 |
389 | .align 16 | 389 | .align 16 |
390 | bn_mul4x_mont_gather5: | 390 | bn_mul4x_mont_gather5: |
391 | endbr64 | 391 | _CET_ENDBR |
392 | .Lmul4x_enter: | 392 | .Lmul4x_enter: |
393 | mov ${num}d,${num}d | 393 | mov ${num}d,${num}d |
394 | movd `($win64?56:8)`(%rsp),%xmm5 # load 7th argument | 394 | movd `($win64?56:8)`(%rsp),%xmm5 # load 7th argument |
@@ -927,7 +927,7 @@ $code.=<<___; | |||
927 | .type bn_scatter5,\@abi-omnipotent | 927 | .type bn_scatter5,\@abi-omnipotent |
928 | .align 16 | 928 | .align 16 |
929 | bn_scatter5: | 929 | bn_scatter5: |
930 | endbr64 | 930 | _CET_ENDBR |
931 | cmp \$0, $num | 931 | cmp \$0, $num |
932 | jz .Lscatter_epilogue | 932 | jz .Lscatter_epilogue |
933 | lea ($tbl,$idx,8),$tbl | 933 | lea ($tbl,$idx,8),$tbl |
@@ -946,7 +946,7 @@ bn_scatter5: | |||
946 | .type bn_gather5,\@abi-omnipotent | 946 | .type bn_gather5,\@abi-omnipotent |
947 | .align 16 | 947 | .align 16 |
948 | bn_gather5: | 948 | bn_gather5: |
949 | endbr64 | 949 | _CET_ENDBR |
950 | .LSEH_begin_bn_gather5: # Win64 thing, but harmless in other cases | 950 | .LSEH_begin_bn_gather5: # Win64 thing, but harmless in other cases |
951 | # I can't trust assembler to use specific encoding:-( | 951 | # I can't trust assembler to use specific encoding:-( |
952 | .byte 0x4c,0x8d,0x14,0x24 # lea (%rsp),%r10 | 952 | .byte 0x4c,0x8d,0x14,0x24 # lea (%rsp),%r10 |
@@ -1057,7 +1057,7 @@ $code.=<<___; | |||
1057 | .type mul_handler,\@abi-omnipotent | 1057 | .type mul_handler,\@abi-omnipotent |
1058 | .align 16 | 1058 | .align 16 |
1059 | mul_handler: | 1059 | mul_handler: |
1060 | endbr64 | 1060 | _CET_ENDBR |
1061 | push %rsi | 1061 | push %rsi |
1062 | push %rdi | 1062 | push %rdi |
1063 | push %rbx | 1063 | push %rbx |
diff --git a/src/lib/libcrypto/bn/s2n_bignum_internal.h b/src/lib/libcrypto/bn/s2n_bignum_internal.h index f413688338..b82db7d019 100644 --- a/src/lib/libcrypto/bn/s2n_bignum_internal.h +++ b/src/lib/libcrypto/bn/s2n_bignum_internal.h | |||
@@ -18,6 +18,12 @@ | |||
18 | # define S2N_BN_SYMBOL(name) name | 18 | # define S2N_BN_SYMBOL(name) name |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #ifdef __CET__ | ||
22 | # include <cet.h> | ||
23 | #else | ||
24 | # define _CET_ENDBR | ||
25 | #endif | ||
26 | |||
21 | #define S2N_BN_SYM_VISIBILITY_DIRECTIVE(name) .globl S2N_BN_SYMBOL(name) | 27 | #define S2N_BN_SYM_VISIBILITY_DIRECTIVE(name) .globl S2N_BN_SYMBOL(name) |
22 | #ifdef S2N_BN_HIDE_SYMBOLS | 28 | #ifdef S2N_BN_HIDE_SYMBOLS |
23 | # ifdef __APPLE__ | 29 | # ifdef __APPLE__ |
diff --git a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl index 3ceed3e899..187f0596d7 100644 --- a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl +++ b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | |||
@@ -116,7 +116,7 @@ $code=<<___; | |||
116 | .type Camellia_EncryptBlock,\@abi-omnipotent | 116 | .type Camellia_EncryptBlock,\@abi-omnipotent |
117 | .align 16 | 117 | .align 16 |
118 | Camellia_EncryptBlock: | 118 | Camellia_EncryptBlock: |
119 | endbr64 | 119 | _CET_ENDBR |
120 | movl \$128,%eax | 120 | movl \$128,%eax |
121 | subl $arg0d,%eax | 121 | subl $arg0d,%eax |
122 | movl \$3,$arg0d | 122 | movl \$3,$arg0d |
@@ -129,7 +129,7 @@ Camellia_EncryptBlock: | |||
129 | .align 16 | 129 | .align 16 |
130 | .Lenc_rounds: | 130 | .Lenc_rounds: |
131 | Camellia_EncryptBlock_Rounds: | 131 | Camellia_EncryptBlock_Rounds: |
132 | endbr64 | 132 | _CET_ENDBR |
133 | push %rbx | 133 | push %rbx |
134 | push %rbp | 134 | push %rbp |
135 | push %r13 | 135 | push %r13 |
@@ -178,7 +178,7 @@ Camellia_EncryptBlock_Rounds: | |||
178 | .type _x86_64_Camellia_encrypt,\@abi-omnipotent | 178 | .type _x86_64_Camellia_encrypt,\@abi-omnipotent |
179 | .align 16 | 179 | .align 16 |
180 | _x86_64_Camellia_encrypt: | 180 | _x86_64_Camellia_encrypt: |
181 | endbr64 | 181 | _CET_ENDBR |
182 | xor 0($key),@S[1] | 182 | xor 0($key),@S[1] |
183 | xor 4($key),@S[0] # ^=key[0-3] | 183 | xor 4($key),@S[0] # ^=key[0-3] |
184 | xor 8($key),@S[3] | 184 | xor 8($key),@S[3] |
@@ -229,7 +229,7 @@ $code.=<<___; | |||
229 | .type Camellia_DecryptBlock,\@abi-omnipotent | 229 | .type Camellia_DecryptBlock,\@abi-omnipotent |
230 | .align 16 | 230 | .align 16 |
231 | Camellia_DecryptBlock: | 231 | Camellia_DecryptBlock: |
232 | endbr64 | 232 | _CET_ENDBR |
233 | movl \$128,%eax | 233 | movl \$128,%eax |
234 | subl $arg0d,%eax | 234 | subl $arg0d,%eax |
235 | movl \$3,$arg0d | 235 | movl \$3,$arg0d |
@@ -242,7 +242,7 @@ Camellia_DecryptBlock: | |||
242 | .align 16 | 242 | .align 16 |
243 | .Ldec_rounds: | 243 | .Ldec_rounds: |
244 | Camellia_DecryptBlock_Rounds: | 244 | Camellia_DecryptBlock_Rounds: |
245 | endbr64 | 245 | _CET_ENDBR |
246 | push %rbx | 246 | push %rbx |
247 | push %rbp | 247 | push %rbp |
248 | push %r13 | 248 | push %r13 |
@@ -291,7 +291,7 @@ Camellia_DecryptBlock_Rounds: | |||
291 | .type _x86_64_Camellia_decrypt,\@abi-omnipotent | 291 | .type _x86_64_Camellia_decrypt,\@abi-omnipotent |
292 | .align 16 | 292 | .align 16 |
293 | _x86_64_Camellia_decrypt: | 293 | _x86_64_Camellia_decrypt: |
294 | endbr64 | 294 | _CET_ENDBR |
295 | xor 0($key),@S[1] | 295 | xor 0($key),@S[1] |
296 | xor 4($key),@S[0] # ^=key[0-3] | 296 | xor 4($key),@S[0] # ^=key[0-3] |
297 | xor 8($key),@S[3] | 297 | xor 8($key),@S[3] |
@@ -406,7 +406,7 @@ $code.=<<___; | |||
406 | .type Camellia_Ekeygen,\@function,3 | 406 | .type Camellia_Ekeygen,\@function,3 |
407 | .align 16 | 407 | .align 16 |
408 | Camellia_Ekeygen: | 408 | Camellia_Ekeygen: |
409 | endbr64 | 409 | _CET_ENDBR |
410 | push %rbx | 410 | push %rbx |
411 | push %rbp | 411 | push %rbp |
412 | push %r13 | 412 | push %r13 |
@@ -637,7 +637,7 @@ $code.=<<___; | |||
637 | .type Camellia_cbc_encrypt,\@function,6 | 637 | .type Camellia_cbc_encrypt,\@function,6 |
638 | .align 16 | 638 | .align 16 |
639 | Camellia_cbc_encrypt: | 639 | Camellia_cbc_encrypt: |
640 | endbr64 | 640 | _CET_ENDBR |
641 | cmp \$0,%rdx | 641 | cmp \$0,%rdx |
642 | je .Lcbc_abort | 642 | je .Lcbc_abort |
643 | push %rbx | 643 | push %rbx |
diff --git a/src/lib/libcrypto/md5/asm/md5-x86_64.pl b/src/lib/libcrypto/md5/asm/md5-x86_64.pl index 06d69094f4..5001c34724 100755 --- a/src/lib/libcrypto/md5/asm/md5-x86_64.pl +++ b/src/lib/libcrypto/md5/asm/md5-x86_64.pl | |||
@@ -128,7 +128,7 @@ $code .= <<EOF; | |||
128 | .globl md5_block_asm_data_order | 128 | .globl md5_block_asm_data_order |
129 | .type md5_block_asm_data_order,\@function,3 | 129 | .type md5_block_asm_data_order,\@function,3 |
130 | md5_block_asm_data_order: | 130 | md5_block_asm_data_order: |
131 | endbr64 | 131 | _CET_ENDBR |
132 | push %rbp | 132 | push %rbp |
133 | push %rbx | 133 | push %rbx |
134 | push %r12 | 134 | push %r12 |
diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl index 4fded507c8..f3caac15d6 100644 --- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl +++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | |||
@@ -412,7 +412,7 @@ $code.=<<___; | |||
412 | .type gcm_init_clmul,\@abi-omnipotent | 412 | .type gcm_init_clmul,\@abi-omnipotent |
413 | .align 16 | 413 | .align 16 |
414 | gcm_init_clmul: | 414 | gcm_init_clmul: |
415 | endbr64 | 415 | _CET_ENDBR |
416 | movdqu ($Xip),$Hkey | 416 | movdqu ($Xip),$Hkey |
417 | pshufd \$0b01001110,$Hkey,$Hkey # dword swap | 417 | pshufd \$0b01001110,$Hkey,$Hkey # dword swap |
418 | 418 | ||
@@ -450,7 +450,7 @@ $code.=<<___; | |||
450 | .type gcm_gmult_clmul,\@abi-omnipotent | 450 | .type gcm_gmult_clmul,\@abi-omnipotent |
451 | .align 16 | 451 | .align 16 |
452 | gcm_gmult_clmul: | 452 | gcm_gmult_clmul: |
453 | endbr64 | 453 | _CET_ENDBR |
454 | movdqu ($Xip),$Xi | 454 | movdqu ($Xip),$Xi |
455 | movdqa .Lbswap_mask(%rip),$T3 | 455 | movdqa .Lbswap_mask(%rip),$T3 |
456 | movdqu ($Htbl),$Hkey | 456 | movdqu ($Htbl),$Hkey |
@@ -478,7 +478,7 @@ $code.=<<___; | |||
478 | .type gcm_ghash_clmul,\@abi-omnipotent | 478 | .type gcm_ghash_clmul,\@abi-omnipotent |
479 | .align 16 | 479 | .align 16 |
480 | gcm_ghash_clmul: | 480 | gcm_ghash_clmul: |
481 | endbr64 | 481 | _CET_ENDBR |
482 | ___ | 482 | ___ |
483 | $code.=<<___ if ($win64); | 483 | $code.=<<___ if ($win64); |
484 | .LSEH_begin_gcm_ghash_clmul: | 484 | .LSEH_begin_gcm_ghash_clmul: |
@@ -689,7 +689,7 @@ $code.=<<___; | |||
689 | .type se_handler,\@abi-omnipotent | 689 | .type se_handler,\@abi-omnipotent |
690 | .align 16 | 690 | .align 16 |
691 | se_handler: | 691 | se_handler: |
692 | endbr64 | 692 | _CET_ENDBR |
693 | push %rsi | 693 | push %rsi |
694 | push %rdi | 694 | push %rdi |
695 | push %rbx | 695 | push %rbx |
diff --git a/src/lib/libcrypto/perlasm/x86_64-xlate.pl b/src/lib/libcrypto/perlasm/x86_64-xlate.pl index 5dbed2a8c4..325e7cf583 100755 --- a/src/lib/libcrypto/perlasm/x86_64-xlate.pl +++ b/src/lib/libcrypto/perlasm/x86_64-xlate.pl | |||
@@ -781,6 +781,22 @@ ___ | |||
781 | OPTION DOTNAME | 781 | OPTION DOTNAME |
782 | ___ | 782 | ___ |
783 | } | 783 | } |
784 | |||
785 | if ($nasm) { | ||
786 | print <<___; | ||
787 | \%define _CET_ENDBR | ||
788 | ___ | ||
789 | } else { | ||
790 | print <<___; | ||
791 | #if defined(__CET__) | ||
792 | #include <cet.h> | ||
793 | #else | ||
794 | #define _CET_ENDBR | ||
795 | #endif | ||
796 | |||
797 | ___ | ||
798 | } | ||
799 | |||
784 | print "#include \"x86_arch.h\"\n"; | 800 | print "#include \"x86_arch.h\"\n"; |
785 | 801 | ||
786 | while($line=<>) { | 802 | while($line=<>) { |
diff --git a/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl index 3190e6a8e7..e5e8aa08a1 100644 --- a/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl +++ b/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl | |||
@@ -109,7 +109,7 @@ $code.=<<___; | |||
109 | .globl $func | 109 | .globl $func |
110 | .type $func,\@function,$nargs | 110 | .type $func,\@function,$nargs |
111 | $func: | 111 | $func: |
112 | endbr64 | 112 | _CET_ENDBR |
113 | cmp \$0,$len | 113 | cmp \$0,$len |
114 | je .Labort | 114 | je .Labort |
115 | push %rbx | 115 | push %rbx |
@@ -454,7 +454,7 @@ $code.=<<___; | |||
454 | .type RC4_set_key,\@function,3 | 454 | .type RC4_set_key,\@function,3 |
455 | .align 16 | 455 | .align 16 |
456 | RC4_set_key: | 456 | RC4_set_key: |
457 | endbr64 | 457 | _CET_ENDBR |
458 | lea 8($dat),$dat | 458 | lea 8($dat),$dat |
459 | lea ($inp,$len),$inp | 459 | lea ($inp,$len),$inp |
460 | neg $len | 460 | neg $len |
diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl index 0472acce8a..a9cf9d1bdf 100755 --- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl +++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | |||
@@ -128,7 +128,7 @@ $code=<<___; | |||
128 | .type RC4,\@function,4 | 128 | .type RC4,\@function,4 |
129 | .align 16 | 129 | .align 16 |
130 | RC4: | 130 | RC4: |
131 | endbr64 | 131 | _CET_ENDBR |
132 | or $len,$len | 132 | or $len,$len |
133 | jne .Lentry | 133 | jne .Lentry |
134 | ret | 134 | ret |
@@ -435,7 +435,7 @@ $code.=<<___; | |||
435 | .type RC4_set_key,\@function,3 | 435 | .type RC4_set_key,\@function,3 |
436 | .align 16 | 436 | .align 16 |
437 | RC4_set_key: | 437 | RC4_set_key: |
438 | endbr64 | 438 | _CET_ENDBR |
439 | lea 8($dat),$dat | 439 | lea 8($dat),$dat |
440 | lea ($inp,$len),$inp | 440 | lea ($inp,$len),$inp |
441 | neg $len | 441 | neg $len |
diff --git a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl index e15ff47f88..e080251df4 100755 --- a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl +++ b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | |||
@@ -222,7 +222,7 @@ $code.=<<___; | |||
222 | .type sha1_block_data_order,\@function,3 | 222 | .type sha1_block_data_order,\@function,3 |
223 | .align 16 | 223 | .align 16 |
224 | sha1_block_data_order: | 224 | sha1_block_data_order: |
225 | endbr64 | 225 | _CET_ENDBR |
226 | mov OPENSSL_ia32cap_P+0(%rip),%r9d | 226 | mov OPENSSL_ia32cap_P+0(%rip),%r9d |
227 | mov OPENSSL_ia32cap_P+4(%rip),%r8d | 227 | mov OPENSSL_ia32cap_P+4(%rip),%r8d |
228 | test \$IA32CAP_MASK1_SSSE3,%r8d # check SSSE3 bit | 228 | test \$IA32CAP_MASK1_SSSE3,%r8d # check SSSE3 bit |
@@ -310,7 +310,7 @@ $code.=<<___; | |||
310 | .align 16 | 310 | .align 16 |
311 | sha1_block_data_order_ssse3: | 311 | sha1_block_data_order_ssse3: |
312 | _ssse3_shortcut: | 312 | _ssse3_shortcut: |
313 | endbr64 | 313 | _CET_ENDBR |
314 | push %rbx | 314 | push %rbx |
315 | push %rbp | 315 | push %rbp |
316 | push %r12 | 316 | push %r12 |
@@ -731,7 +731,7 @@ $code.=<<___; | |||
731 | .align 16 | 731 | .align 16 |
732 | sha1_block_data_order_avx: | 732 | sha1_block_data_order_avx: |
733 | _avx_shortcut: | 733 | _avx_shortcut: |
734 | endbr64 | 734 | _CET_ENDBR |
735 | push %rbx | 735 | push %rbx |
736 | push %rbp | 736 | push %rbp |
737 | push %r12 | 737 | push %r12 |
@@ -1102,7 +1102,7 @@ $code.=<<___; | |||
1102 | .type se_handler,\@abi-omnipotent | 1102 | .type se_handler,\@abi-omnipotent |
1103 | .align 16 | 1103 | .align 16 |
1104 | se_handler: | 1104 | se_handler: |
1105 | endbr64 | 1105 | _CET_ENDBR |
1106 | push %rsi | 1106 | push %rsi |
1107 | push %rdi | 1107 | push %rdi |
1108 | push %rbx | 1108 | push %rbx |
diff --git a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl index 120693feeb..f7a4dad2c9 100755 --- a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl +++ b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | |||
@@ -175,7 +175,7 @@ $code=<<___; | |||
175 | .type $func,\@function,4 | 175 | .type $func,\@function,4 |
176 | .align 16 | 176 | .align 16 |
177 | $func: | 177 | $func: |
178 | endbr64 | 178 | _CET_ENDBR |
179 | push %rbx | 179 | push %rbx |
180 | push %rbp | 180 | push %rbp |
181 | push %r12 | 181 | push %r12 |
diff --git a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl index 7958f6d289..2a3902430b 100644 --- a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl +++ b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | |||
@@ -57,7 +57,7 @@ $code=<<___; | |||
57 | .type $func,\@function,3 | 57 | .type $func,\@function,3 |
58 | .align 16 | 58 | .align 16 |
59 | $func: | 59 | $func: |
60 | endbr64 | 60 | _CET_ENDBR |
61 | push %rbx | 61 | push %rbx |
62 | push %rbp | 62 | push %rbp |
63 | push %r12 | 63 | push %r12 |
diff --git a/src/lib/libcrypto/x86_64cpuid.pl b/src/lib/libcrypto/x86_64cpuid.pl index dc56732a28..5e85c40c97 100644 --- a/src/lib/libcrypto/x86_64cpuid.pl +++ b/src/lib/libcrypto/x86_64cpuid.pl | |||
@@ -18,7 +18,7 @@ print<<___; | |||
18 | .extern OPENSSL_cpuid_setup | 18 | .extern OPENSSL_cpuid_setup |
19 | .hidden OPENSSL_cpuid_setup | 19 | .hidden OPENSSL_cpuid_setup |
20 | .section .init | 20 | .section .init |
21 | endbr64 | 21 | _CET_ENDBR |
22 | call OPENSSL_cpuid_setup | 22 | call OPENSSL_cpuid_setup |
23 | 23 | ||
24 | .extern OPENSSL_ia32cap_P | 24 | .extern OPENSSL_ia32cap_P |
@@ -30,7 +30,7 @@ print<<___; | |||
30 | .type OPENSSL_ia32_cpuid,\@abi-omnipotent | 30 | .type OPENSSL_ia32_cpuid,\@abi-omnipotent |
31 | .align 16 | 31 | .align 16 |
32 | OPENSSL_ia32_cpuid: | 32 | OPENSSL_ia32_cpuid: |
33 | endbr64 | 33 | _CET_ENDBR |
34 | mov %rbx,%r8 # save %rbx | 34 | mov %rbx,%r8 # save %rbx |
35 | 35 | ||
36 | xor %eax,%eax | 36 | xor %eax,%eax |