diff options
Diffstat (limited to '')
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 |
