diff options
author | tb <> | 2024-02-24 15:30:14 +0000 |
---|---|---|
committer | tb <> | 2024-02-24 15:30:14 +0000 |
commit | c10c5b524e3121f42c9239d737dd7f975638f378 (patch) | |
tree | 162dfb371639bf1514d472f64e2a4d1279851907 /src/lib | |
parent | 1f31ec76cd83a26559f7a7ee2623bce8b503473d (diff) | |
download | openbsd-c10c5b524e3121f42c9239d737dd7f975638f378.tar.gz openbsd-c10c5b524e3121f42c9239d737dd7f975638f378.tar.bz2 openbsd-c10c5b524e3121f42c9239d737dd7f975638f378.zip |
Replace uses of endbr64 with _CET_ENDBR from cet.h
cet.h is needed for other platforms to emit the relevant .gnu.properties
sections that are necessary for them to enable IBT. It also avoids issues
with older toolchains on macOS that explode on encountering endbr64.
based on a diff by kettenis
ok beck kettenis
Diffstat (limited to 'src/lib')
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 |