diff options
| author | Brent Cook <busterb@gmail.com> | 2024-01-07 18:29:10 -0600 |
|---|---|---|
| committer | Brent Cook <busterb@gmail.com> | 2024-02-12 03:14:54 -0600 |
| commit | cc78bdf3dd7ed883412bd22c2638214fe0ca3619 (patch) | |
| tree | 76875b844e33bd3ed233973fcfe9d85c6f22789f | |
| parent | db3ab1675bbf8b821ef2fa26e7af14a8b4d38bfe (diff) | |
| download | portable-cc78bdf3dd7ed883412bd22c2638214fe0ca3619.tar.gz portable-cc78bdf3dd7ed883412bd22c2638214fe0ca3619.tar.bz2 portable-cc78bdf3dd7ed883412bd22c2638214fe0ca3619.zip | |
integrate new upstream endbr64 test code, remove os-specific reverts
| -rw-r--r-- | patches/asm/0001-Revert-Add-endbr64-where-needed-by-inspection.-Passe.patch | 1055 | ||||
| -rw-r--r-- | patches/asm/0002-Revert-Use-explicit-.text-instead-of-.previous-to-pl.patch | 162 | ||||
| -rw-r--r-- | patches/asm/0003-Revert-Use-.section-.rodata-instead-of-a-plain-.roda.patch | 203 | ||||
| -rw-r--r-- | patches/asm/0004-Revert-Move-constants-out-of-text-segment-into-rodat.patch | 292 | ||||
| -rw-r--r-- | patches/asm/0005-Revert-aesni-endbr64.patch | 20 | ||||
| -rw-r--r-- | patches/asm/endbr64.patch | 1215 | ||||
| -rwxr-xr-x | update.sh | 27 |
7 files changed, 1223 insertions, 1751 deletions
diff --git a/patches/asm/0001-Revert-Add-endbr64-where-needed-by-inspection.-Passe.patch b/patches/asm/0001-Revert-Add-endbr64-where-needed-by-inspection.-Passe.patch deleted file mode 100644 index 8ec94cd..0000000 --- a/patches/asm/0001-Revert-Add-endbr64-where-needed-by-inspection.-Passe.patch +++ /dev/null | |||
| @@ -1,1055 +0,0 @@ | |||
| 1 | From 5f7fafff280e6e17d7fafea20fda99762d74581f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brent Cook <busterb@gmail.com> | ||
| 3 | Date: Mon, 30 Oct 2023 21:59:32 -0500 | ||
| 4 | Subject: [PATCH 1/4] Revert "Add endbr64 where needed by inspection. Passes | ||
| 5 | regresson tests." | ||
| 6 | |||
| 7 | This reverts commit e2118101444d3cf3cab87297b363cecd5357ae89. | ||
| 8 | --- | ||
| 9 | src/lib/libcrypto/aes/asm/aes-x86_64.pl | 13 ------------- | ||
| 10 | src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | 4 ---- | ||
| 11 | src/lib/libcrypto/aes/asm/aesni-x86_64.pl | 15 --------------- | ||
| 12 | src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | 14 -------------- | ||
| 13 | src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | 14 -------------- | ||
| 14 | src/lib/libcrypto/bn/arch/amd64/bignum_add.S | 1 - | ||
| 15 | src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S | 1 - | ||
| 16 | src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S | 1 - | ||
| 17 | src/lib/libcrypto/bn/arch/amd64/bignum_mul.S | 1 - | ||
| 18 | .../libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S | 1 - | ||
| 19 | .../libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S | 1 - | ||
| 20 | src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S | 1 - | ||
| 21 | .../libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S | 1 - | ||
| 22 | .../libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S | 1 - | ||
| 23 | src/lib/libcrypto/bn/arch/amd64/bignum_sub.S | 1 - | ||
| 24 | src/lib/libcrypto/bn/arch/amd64/word_clz.S | 1 - | ||
| 25 | src/lib/libcrypto/bn/asm/modexp512-x86_64.pl | 5 ----- | ||
| 26 | src/lib/libcrypto/bn/asm/x86_64-mont.pl | 3 --- | ||
| 27 | src/lib/libcrypto/bn/asm/x86_64-mont5.pl | 5 ----- | ||
| 28 | src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | 8 -------- | ||
| 29 | src/lib/libcrypto/md5/asm/md5-x86_64.pl | 1 - | ||
| 30 | src/lib/libcrypto/modes/asm/ghash-x86_64.pl | 4 ---- | ||
| 31 | src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl | 6 ++---- | ||
| 32 | src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | 7 ++----- | ||
| 33 | src/lib/libcrypto/sha/asm/sha1-x86_64.pl | 4 ---- | ||
| 34 | src/lib/libcrypto/sha/asm/sha512-x86_64.pl | 1 - | ||
| 35 | src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | 1 - | ||
| 36 | src/lib/libcrypto/x86_64cpuid.pl | 2 -- | ||
| 37 | 28 files changed, 4 insertions(+), 114 deletions(-) | ||
| 38 | |||
| 39 | diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 40 | index 78ba20ca5..b7399b552 100755 | ||
| 41 | --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 42 | +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 43 | @@ -318,7 +318,6 @@ $code.=<<___; | ||
| 44 | .type _x86_64_AES_encrypt,\@abi-omnipotent | ||
| 45 | .align 16 | ||
| 46 | _x86_64_AES_encrypt: | ||
| 47 | - endbr64 | ||
| 48 | xor 0($key),$s0 # xor with key | ||
| 49 | xor 4($key),$s1 | ||
| 50 | xor 8($key),$s2 | ||
| 51 | @@ -549,7 +548,6 @@ $code.=<<___; | ||
| 52 | .type _x86_64_AES_encrypt_compact,\@abi-omnipotent | ||
| 53 | .align 16 | ||
| 54 | _x86_64_AES_encrypt_compact: | ||
| 55 | - endbr64 | ||
| 56 | lea 128($sbox),$inp # size optimization | ||
| 57 | mov 0-128($inp),$acc1 # prefetch Te4 | ||
| 58 | mov 32-128($inp),$acc2 | ||
| 59 | @@ -595,7 +593,6 @@ $code.=<<___; | ||
| 60 | .hidden asm_AES_encrypt | ||
| 61 | asm_AES_encrypt: | ||
| 62 | AES_encrypt: | ||
| 63 | - endbr64 | ||
| 64 | push %rbx | ||
| 65 | push %rbp | ||
| 66 | push %r12 | ||
| 67 | @@ -887,7 +884,6 @@ $code.=<<___; | ||
| 68 | .type _x86_64_AES_decrypt,\@abi-omnipotent | ||
| 69 | .align 16 | ||
| 70 | _x86_64_AES_decrypt: | ||
| 71 | - endbr64 | ||
| 72 | xor 0($key),$s0 # xor with key | ||
| 73 | xor 4($key),$s1 | ||
| 74 | xor 8($key),$s2 | ||
| 75 | @@ -1142,7 +1138,6 @@ $code.=<<___; | ||
| 76 | .type _x86_64_AES_decrypt_compact,\@abi-omnipotent | ||
| 77 | .align 16 | ||
| 78 | _x86_64_AES_decrypt_compact: | ||
| 79 | - endbr64 | ||
| 80 | lea 128($sbox),$inp # size optimization | ||
| 81 | mov 0-128($inp),$acc1 # prefetch Td4 | ||
| 82 | mov 32-128($inp),$acc2 | ||
| 83 | @@ -1197,7 +1192,6 @@ $code.=<<___; | ||
| 84 | .hidden asm_AES_decrypt | ||
| 85 | asm_AES_decrypt: | ||
| 86 | AES_decrypt: | ||
| 87 | - endbr64 | ||
| 88 | push %rbx | ||
| 89 | push %rbp | ||
| 90 | push %r12 | ||
| 91 | @@ -1297,7 +1291,6 @@ $code.=<<___; | ||
| 92 | .type AES_set_encrypt_key,\@function,3 | ||
| 93 | .align 16 | ||
| 94 | AES_set_encrypt_key: | ||
| 95 | - endbr64 | ||
| 96 | push %rbx | ||
| 97 | push %rbp | ||
| 98 | push %r12 # redundant, but allows to share | ||
| 99 | @@ -1323,7 +1316,6 @@ AES_set_encrypt_key: | ||
| 100 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent | ||
| 101 | .align 16 | ||
| 102 | _x86_64_AES_set_encrypt_key: | ||
| 103 | - endbr64 | ||
| 104 | mov %esi,%ecx # %ecx=bits | ||
| 105 | mov %rdi,%rsi # %rsi=userKey | ||
| 106 | mov %rdx,%rdi # %rdi=key | ||
| 107 | @@ -1569,7 +1561,6 @@ $code.=<<___; | ||
| 108 | .type AES_set_decrypt_key,\@function,3 | ||
| 109 | .align 16 | ||
| 110 | AES_set_decrypt_key: | ||
| 111 | - endbr64 | ||
| 112 | push %rbx | ||
| 113 | push %rbp | ||
| 114 | push %r12 | ||
| 115 | @@ -1669,7 +1660,6 @@ $code.=<<___; | ||
| 116 | .hidden asm_AES_cbc_encrypt | ||
| 117 | asm_AES_cbc_encrypt: | ||
| 118 | AES_cbc_encrypt: | ||
| 119 | - endbr64 | ||
| 120 | cmp \$0,%rdx # check length | ||
| 121 | je .Lcbc_epilogue | ||
| 122 | pushfq | ||
| 123 | @@ -2561,7 +2551,6 @@ $code.=<<___; | ||
| 124 | .type block_se_handler,\@abi-omnipotent | ||
| 125 | .align 16 | ||
| 126 | block_se_handler: | ||
| 127 | - endbr64 | ||
| 128 | push %rsi | ||
| 129 | push %rdi | ||
| 130 | push %rbx | ||
| 131 | @@ -2620,7 +2609,6 @@ block_se_handler: | ||
| 132 | .type key_se_handler,\@abi-omnipotent | ||
| 133 | .align 16 | ||
| 134 | key_se_handler: | ||
| 135 | - endbr64 | ||
| 136 | push %rsi | ||
| 137 | push %rdi | ||
| 138 | push %rbx | ||
| 139 | @@ -2678,7 +2666,6 @@ key_se_handler: | ||
| 140 | .type cbc_se_handler,\@abi-omnipotent | ||
| 141 | .align 16 | ||
| 142 | cbc_se_handler: | ||
| 143 | - endbr64 | ||
| 144 | push %rsi | ||
| 145 | push %rdi | ||
| 146 | push %rbx | ||
| 147 | diff --git a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 148 | index 879d16793..bafa906a0 100644 | ||
| 149 | --- a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 150 | +++ b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 151 | @@ -89,7 +89,6 @@ $code.=<<___; | ||
| 152 | .type aesni_cbc_sha1_enc,\@abi-omnipotent | ||
| 153 | .align 16 | ||
| 154 | aesni_cbc_sha1_enc: | ||
| 155 | - endbr64 | ||
| 156 | # caller should check for SSSE3 and AES-NI bits | ||
| 157 | mov OPENSSL_ia32cap_P+0(%rip),%r10d | ||
| 158 | mov OPENSSL_ia32cap_P+4(%rip),%r11d | ||
| 159 | @@ -133,7 +132,6 @@ $code.=<<___; | ||
| 160 | .type aesni_cbc_sha1_enc_ssse3,\@function,6 | ||
| 161 | .align 16 | ||
| 162 | aesni_cbc_sha1_enc_ssse3: | ||
| 163 | - endbr64 | ||
| 164 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument | ||
| 165 | #shr \$6,$len # debugging artefact | ||
| 166 | #jz .Lepilogue_ssse3 # debugging artefact | ||
| 167 | @@ -652,7 +650,6 @@ $code.=<<___; | ||
| 168 | .type aesni_cbc_sha1_enc_avx,\@function,6 | ||
| 169 | .align 16 | ||
| 170 | aesni_cbc_sha1_enc_avx: | ||
| 171 | - endbr64 | ||
| 172 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument | ||
| 173 | #shr \$6,$len # debugging artefact | ||
| 174 | #jz .Lepilogue_avx # debugging artefact | ||
| 175 | @@ -1103,7 +1100,6 @@ $code.=<<___; | ||
| 176 | .type ssse3_handler,\@abi-omnipotent | ||
| 177 | .align 16 | ||
| 178 | ssse3_handler: | ||
| 179 | - endbr64 | ||
| 180 | push %rsi | ||
| 181 | push %rdi | ||
| 182 | push %rbx | ||
| 183 | diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 184 | index 07d40a84a..e662fbc7c 100644 | ||
| 185 | --- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 186 | +++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 187 | @@ -242,7 +242,6 @@ $code.=<<___; | ||
| 188 | .type ${PREFIX}_encrypt,\@abi-omnipotent | ||
| 189 | .align 16 | ||
| 190 | ${PREFIX}_encrypt: | ||
| 191 | - endbr64 | ||
| 192 | movups ($inp),$inout0 # load input | ||
| 193 | mov 240($key),$rounds # key->rounds | ||
| 194 | ___ | ||
| 195 | @@ -256,7 +255,6 @@ $code.=<<___; | ||
| 196 | .type ${PREFIX}_decrypt,\@abi-omnipotent | ||
| 197 | .align 16 | ||
| 198 | ${PREFIX}_decrypt: | ||
| 199 | - endbr64 | ||
| 200 | movups ($inp),$inout0 # load input | ||
| 201 | mov 240($key),$rounds # key->rounds | ||
| 202 | ___ | ||
| 203 | @@ -286,7 +284,6 @@ $code.=<<___; | ||
| 204 | .type _aesni_${dir}rypt3,\@abi-omnipotent | ||
| 205 | .align 16 | ||
| 206 | _aesni_${dir}rypt3: | ||
| 207 | - endbr64 | ||
| 208 | $movkey ($key),$rndkey0 | ||
| 209 | shr \$1,$rounds | ||
| 210 | $movkey 16($key),$rndkey1 | ||
| 211 | @@ -331,7 +328,6 @@ $code.=<<___; | ||
| 212 | .type _aesni_${dir}rypt4,\@abi-omnipotent | ||
| 213 | .align 16 | ||
| 214 | _aesni_${dir}rypt4: | ||
| 215 | - endbr64 | ||
| 216 | $movkey ($key),$rndkey0 | ||
| 217 | shr \$1,$rounds | ||
| 218 | $movkey 16($key),$rndkey1 | ||
| 219 | @@ -377,7 +373,6 @@ $code.=<<___; | ||
| 220 | .type _aesni_${dir}rypt6,\@abi-omnipotent | ||
| 221 | .align 16 | ||
| 222 | _aesni_${dir}rypt6: | ||
| 223 | - endbr64 | ||
| 224 | $movkey ($key),$rndkey0 | ||
| 225 | shr \$1,$rounds | ||
| 226 | $movkey 16($key),$rndkey1 | ||
| 227 | @@ -442,7 +437,6 @@ $code.=<<___; | ||
| 228 | .type _aesni_${dir}rypt8,\@abi-omnipotent | ||
| 229 | .align 16 | ||
| 230 | _aesni_${dir}rypt8: | ||
| 231 | - endbr64 | ||
| 232 | $movkey ($key),$rndkey0 | ||
| 233 | shr \$1,$rounds | ||
| 234 | $movkey 16($key),$rndkey1 | ||
| 235 | @@ -531,7 +525,6 @@ $code.=<<___; | ||
| 236 | .type aesni_ecb_encrypt,\@function,5 | ||
| 237 | .align 16 | ||
| 238 | aesni_ecb_encrypt: | ||
| 239 | - endbr64 | ||
| 240 | and \$-16,$len | ||
| 241 | jz .Lecb_ret | ||
| 242 | |||
| 243 | @@ -837,7 +830,6 @@ $code.=<<___; | ||
| 244 | .type aesni_ccm64_encrypt_blocks,\@function,6 | ||
| 245 | .align 16 | ||
| 246 | aesni_ccm64_encrypt_blocks: | ||
| 247 | - endbr64 | ||
| 248 | ___ | ||
| 249 | $code.=<<___ if ($win64); | ||
| 250 | lea -0x58(%rsp),%rsp | ||
| 251 | @@ -2487,7 +2479,6 @@ $code.=<<___; | ||
| 252 | .type ${PREFIX}_set_decrypt_key,\@abi-omnipotent | ||
| 253 | .align 16 | ||
| 254 | ${PREFIX}_set_decrypt_key: | ||
| 255 | - endbr64 | ||
| 256 | sub \$8,%rsp | ||
| 257 | call __aesni_set_encrypt_key | ||
| 258 | shl \$4,$bits # rounds-1 after _aesni_set_encrypt_key | ||
| 259 | @@ -2538,7 +2529,6 @@ $code.=<<___; | ||
| 260 | .type ${PREFIX}_set_encrypt_key,\@abi-omnipotent | ||
| 261 | .align 16 | ||
| 262 | ${PREFIX}_set_encrypt_key: | ||
| 263 | - endbr64 | ||
| 264 | __aesni_set_encrypt_key: | ||
| 265 | sub \$8,%rsp | ||
| 266 | mov \$-1,%rax | ||
| 267 | @@ -2760,7 +2750,6 @@ $code.=<<___ if ($PREFIX eq "aesni"); | ||
| 268 | .type ecb_se_handler,\@abi-omnipotent | ||
| 269 | .align 16 | ||
| 270 | ecb_se_handler: | ||
| 271 | - endbr64 | ||
| 272 | push %rsi | ||
| 273 | push %rdi | ||
| 274 | push %rbx | ||
| 275 | @@ -2780,7 +2769,6 @@ ecb_se_handler: | ||
| 276 | .type ccm64_se_handler,\@abi-omnipotent | ||
| 277 | .align 16 | ||
| 278 | ccm64_se_handler: | ||
| 279 | - endbr64 | ||
| 280 | push %rsi | ||
| 281 | push %rdi | ||
| 282 | push %rbx | ||
| 283 | @@ -2822,7 +2810,6 @@ ccm64_se_handler: | ||
| 284 | .type ctr32_se_handler,\@abi-omnipotent | ||
| 285 | .align 16 | ||
| 286 | ctr32_se_handler: | ||
| 287 | - endbr64 | ||
| 288 | push %rsi | ||
| 289 | push %rdi | ||
| 290 | push %rbx | ||
| 291 | @@ -2858,7 +2845,6 @@ ctr32_se_handler: | ||
| 292 | .type xts_se_handler,\@abi-omnipotent | ||
| 293 | .align 16 | ||
| 294 | xts_se_handler: | ||
| 295 | - endbr64 | ||
| 296 | push %rsi | ||
| 297 | push %rdi | ||
| 298 | push %rbx | ||
| 299 | @@ -2900,7 +2886,6 @@ $code.=<<___; | ||
| 300 | .type cbc_se_handler,\@abi-omnipotent | ||
| 301 | .align 16 | ||
| 302 | cbc_se_handler: | ||
| 303 | - endbr64 | ||
| 304 | push %rsi | ||
| 305 | push %rdi | ||
| 306 | push %rbx | ||
| 307 | diff --git a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 308 | index 7098ba27f..20e9e1f71 100644 | ||
| 309 | --- a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 310 | +++ b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 311 | @@ -813,7 +813,6 @@ $code.=<<___; | ||
| 312 | .type _bsaes_encrypt8,\@abi-omnipotent | ||
| 313 | .align 64 | ||
| 314 | _bsaes_encrypt8: | ||
| 315 | - endbr64 | ||
| 316 | lea .LBS0(%rip), $const # constants table | ||
| 317 | |||
| 318 | movdqa ($key), @XMM[9] # round 0 key | ||
| 319 | @@ -878,7 +877,6 @@ $code.=<<___; | ||
| 320 | .type _bsaes_decrypt8,\@abi-omnipotent | ||
| 321 | .align 64 | ||
| 322 | _bsaes_decrypt8: | ||
| 323 | - endbr64 | ||
| 324 | lea .LBS0(%rip), $const # constants table | ||
| 325 | |||
| 326 | movdqa ($key), @XMM[9] # round 0 key | ||
| 327 | @@ -970,7 +968,6 @@ $code.=<<___; | ||
| 328 | .type _bsaes_key_convert,\@abi-omnipotent | ||
| 329 | .align 16 | ||
| 330 | _bsaes_key_convert: | ||
| 331 | - endbr64 | ||
| 332 | lea .Lmasks(%rip), $const | ||
| 333 | movdqu ($inp), %xmm7 # load round 0 key | ||
| 334 | lea 0x10($inp), $inp | ||
| 335 | @@ -1060,7 +1057,6 @@ $code.=<<___; | ||
| 336 | .type bsaes_enc_key_convert,\@function,2 | ||
| 337 | .align 16 | ||
| 338 | bsaes_enc_key_convert: | ||
| 339 | - endbr64 | ||
| 340 | mov 240($inp),%r10d # pass rounds | ||
| 341 | mov $inp,%rcx # pass key | ||
| 342 | mov $out,%rax # pass key schedule | ||
| 343 | @@ -1075,7 +1071,6 @@ bsaes_enc_key_convert: | ||
| 344 | .align 16 | ||
| 345 | bsaes_encrypt_128: | ||
| 346 | .Lenc128_loop: | ||
| 347 | - endbr64 | ||
| 348 | movdqu 0x00($inp), @XMM[0] # load input | ||
| 349 | movdqu 0x10($inp), @XMM[1] | ||
| 350 | movdqu 0x20($inp), @XMM[2] | ||
| 351 | @@ -1108,7 +1103,6 @@ bsaes_encrypt_128: | ||
| 352 | .type bsaes_dec_key_convert,\@function,2 | ||
| 353 | .align 16 | ||
| 354 | bsaes_dec_key_convert: | ||
| 355 | - endbr64 | ||
| 356 | mov 240($inp),%r10d # pass rounds | ||
| 357 | mov $inp,%rcx # pass key | ||
| 358 | mov $out,%rax # pass key schedule | ||
| 359 | @@ -1123,7 +1117,6 @@ bsaes_dec_key_convert: | ||
| 360 | .type bsaes_decrypt_128,\@function,4 | ||
| 361 | .align 16 | ||
| 362 | bsaes_decrypt_128: | ||
| 363 | - endbr64 | ||
| 364 | .Ldec128_loop: | ||
| 365 | movdqu 0x00($inp), @XMM[0] # load input | ||
| 366 | movdqu 0x10($inp), @XMM[1] | ||
| 367 | @@ -1169,7 +1162,6 @@ $code.=<<___; | ||
| 368 | .type bsaes_ecb_encrypt_blocks,\@abi-omnipotent | ||
| 369 | .align 16 | ||
| 370 | bsaes_ecb_encrypt_blocks: | ||
| 371 | - endbr64 | ||
| 372 | mov %rsp, %rax | ||
| 373 | .Lecb_enc_prologue: | ||
| 374 | push %rbp | ||
| 375 | @@ -1371,7 +1363,6 @@ $code.=<<___; | ||
| 376 | .type bsaes_ecb_decrypt_blocks,\@abi-omnipotent | ||
| 377 | .align 16 | ||
| 378 | bsaes_ecb_decrypt_blocks: | ||
| 379 | - endbr64 | ||
| 380 | mov %rsp, %rax | ||
| 381 | .Lecb_dec_prologue: | ||
| 382 | push %rbp | ||
| 383 | @@ -1577,7 +1568,6 @@ $code.=<<___; | ||
| 384 | .type bsaes_cbc_encrypt,\@abi-omnipotent | ||
| 385 | .align 16 | ||
| 386 | bsaes_cbc_encrypt: | ||
| 387 | - endbr64 | ||
| 388 | ___ | ||
| 389 | $code.=<<___ if ($win64); | ||
| 390 | mov 48(%rsp),$arg6 # pull direction flag | ||
| 391 | @@ -1865,7 +1855,6 @@ $code.=<<___; | ||
| 392 | .type bsaes_ctr32_encrypt_blocks,\@abi-omnipotent | ||
| 393 | .align 16 | ||
| 394 | bsaes_ctr32_encrypt_blocks: | ||
| 395 | - endbr64 | ||
| 396 | mov %rsp, %rax | ||
| 397 | .Lctr_enc_prologue: | ||
| 398 | push %rbp | ||
| 399 | @@ -2107,7 +2096,6 @@ $code.=<<___; | ||
| 400 | .type bsaes_xts_encrypt,\@abi-omnipotent | ||
| 401 | .align 16 | ||
| 402 | bsaes_xts_encrypt: | ||
| 403 | - endbr64 | ||
| 404 | mov %rsp, %rax | ||
| 405 | .Lxts_enc_prologue: | ||
| 406 | push %rbp | ||
| 407 | @@ -2489,7 +2477,6 @@ $code.=<<___; | ||
| 408 | .type bsaes_xts_decrypt,\@abi-omnipotent | ||
| 409 | .align 16 | ||
| 410 | bsaes_xts_decrypt: | ||
| 411 | - endbr64 | ||
| 412 | mov %rsp, %rax | ||
| 413 | .Lxts_dec_prologue: | ||
| 414 | push %rbp | ||
| 415 | @@ -2966,7 +2953,6 @@ $code.=<<___; | ||
| 416 | .type se_handler,\@abi-omnipotent | ||
| 417 | .align 16 | ||
| 418 | se_handler: | ||
| 419 | - endbr64 | ||
| 420 | push %rsi | ||
| 421 | push %rdi | ||
| 422 | push %rbx | ||
| 423 | diff --git a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 424 | index 8ff8d8602..3ffb1a303 100644 | ||
| 425 | --- a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 426 | +++ b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 427 | @@ -82,7 +82,6 @@ $code.=<<___; | ||
| 428 | .type _vpaes_encrypt_core,\@abi-omnipotent | ||
| 429 | .align 16 | ||
| 430 | _vpaes_encrypt_core: | ||
| 431 | - endbr64 | ||
| 432 | mov %rdx, %r9 | ||
| 433 | mov \$16, %r11 | ||
| 434 | mov 240(%rdx),%eax | ||
| 435 | @@ -173,7 +172,6 @@ _vpaes_encrypt_core: | ||
| 436 | .type _vpaes_decrypt_core,\@abi-omnipotent | ||
| 437 | .align 16 | ||
| 438 | _vpaes_decrypt_core: | ||
| 439 | - endbr64 | ||
| 440 | mov %rdx, %r9 # load key | ||
| 441 | mov 240(%rdx),%eax | ||
| 442 | movdqa %xmm9, %xmm1 | ||
| 443 | @@ -281,7 +279,6 @@ _vpaes_decrypt_core: | ||
| 444 | .type _vpaes_schedule_core,\@abi-omnipotent | ||
| 445 | .align 16 | ||
| 446 | _vpaes_schedule_core: | ||
| 447 | - endbr64 | ||
| 448 | # rdi = key | ||
| 449 | # rsi = size in bits | ||
| 450 | # rdx = buffer | ||
| 451 | @@ -467,7 +464,6 @@ _vpaes_schedule_core: | ||
| 452 | .type _vpaes_schedule_192_smear,\@abi-omnipotent | ||
| 453 | .align 16 | ||
| 454 | _vpaes_schedule_192_smear: | ||
| 455 | - endbr64 | ||
| 456 | pshufd \$0x80, %xmm6, %xmm0 # d c 0 0 -> c 0 0 0 | ||
| 457 | pxor %xmm0, %xmm6 # -> c+d c 0 0 | ||
| 458 | pshufd \$0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a | ||
| 459 | @@ -499,7 +495,6 @@ _vpaes_schedule_192_smear: | ||
| 460 | .type _vpaes_schedule_round,\@abi-omnipotent | ||
| 461 | .align 16 | ||
| 462 | _vpaes_schedule_round: | ||
| 463 | - endbr64 | ||
| 464 | # extract rcon from xmm8 | ||
| 465 | pxor %xmm1, %xmm1 | ||
| 466 | palignr \$15, %xmm8, %xmm1 | ||
| 467 | @@ -567,7 +562,6 @@ _vpaes_schedule_low_round: | ||
| 468 | .type _vpaes_schedule_transform,\@abi-omnipotent | ||
| 469 | .align 16 | ||
| 470 | _vpaes_schedule_transform: | ||
| 471 | - endbr64 | ||
| 472 | movdqa %xmm9, %xmm1 | ||
| 473 | pandn %xmm0, %xmm1 | ||
| 474 | psrld \$4, %xmm1 | ||
| 475 | @@ -606,7 +600,6 @@ _vpaes_schedule_transform: | ||
| 476 | .type _vpaes_schedule_mangle,\@abi-omnipotent | ||
| 477 | .align 16 | ||
| 478 | _vpaes_schedule_mangle: | ||
| 479 | - endbr64 | ||
| 480 | movdqa %xmm0, %xmm4 # save xmm0 for later | ||
| 481 | movdqa .Lk_mc_forward(%rip),%xmm5 | ||
| 482 | test %rcx, %rcx | ||
| 483 | @@ -680,7 +673,6 @@ _vpaes_schedule_mangle: | ||
| 484 | .type ${PREFIX}_set_encrypt_key,\@function,3 | ||
| 485 | .align 16 | ||
| 486 | ${PREFIX}_set_encrypt_key: | ||
| 487 | - endbr64 | ||
| 488 | ___ | ||
| 489 | $code.=<<___ if ($win64); | ||
| 490 | lea -0xb8(%rsp),%rsp | ||
| 491 | @@ -729,7 +721,6 @@ $code.=<<___; | ||
| 492 | .type ${PREFIX}_set_decrypt_key,\@function,3 | ||
| 493 | .align 16 | ||
| 494 | ${PREFIX}_set_decrypt_key: | ||
| 495 | - endbr64 | ||
| 496 | ___ | ||
| 497 | $code.=<<___ if ($win64); | ||
| 498 | lea -0xb8(%rsp),%rsp | ||
| 499 | @@ -783,7 +774,6 @@ $code.=<<___; | ||
| 500 | .type ${PREFIX}_encrypt,\@function,3 | ||
| 501 | .align 16 | ||
| 502 | ${PREFIX}_encrypt: | ||
| 503 | - endbr64 | ||
| 504 | ___ | ||
| 505 | $code.=<<___ if ($win64); | ||
| 506 | lea -0xb8(%rsp),%rsp | ||
| 507 | @@ -827,7 +817,6 @@ $code.=<<___; | ||
| 508 | .type ${PREFIX}_decrypt,\@function,3 | ||
| 509 | .align 16 | ||
| 510 | ${PREFIX}_decrypt: | ||
| 511 | - endbr64 | ||
| 512 | ___ | ||
| 513 | $code.=<<___ if ($win64); | ||
| 514 | lea -0xb8(%rsp),%rsp | ||
| 515 | @@ -877,7 +866,6 @@ $code.=<<___; | ||
| 516 | .type ${PREFIX}_cbc_encrypt,\@function,6 | ||
| 517 | .align 16 | ||
| 518 | ${PREFIX}_cbc_encrypt: | ||
| 519 | - endbr64 | ||
| 520 | xchg $key,$len | ||
| 521 | ___ | ||
| 522 | ($len,$key)=($key,$len); | ||
| 523 | @@ -961,7 +949,6 @@ $code.=<<___; | ||
| 524 | .type _vpaes_preheat,\@abi-omnipotent | ||
| 525 | .align 16 | ||
| 526 | _vpaes_preheat: | ||
| 527 | - endbr64 | ||
| 528 | lea .Lk_s0F(%rip), %r10 | ||
| 529 | movdqa -0x20(%r10), %xmm10 # .Lk_inv | ||
| 530 | movdqa -0x10(%r10), %xmm11 # .Lk_inv+16 | ||
| 531 | @@ -1092,7 +1079,6 @@ $code.=<<___; | ||
| 532 | .type se_handler,\@abi-omnipotent | ||
| 533 | .align 16 | ||
| 534 | se_handler: | ||
| 535 | - endbr64 | ||
| 536 | push %rsi | ||
| 537 | push %rdi | ||
| 538 | push %rbx | ||
| 539 | diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_add.S b/src/lib/libcrypto/bn/arch/amd64/bignum_add.S | ||
| 540 | index 06298ca69..d56fa5e3a 100644 | ||
| 541 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_add.S | ||
| 542 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_add.S | ||
| 543 | @@ -49,7 +49,6 @@ | ||
| 544 | |||
| 545 | |||
| 546 | S2N_BN_SYMBOL(bignum_add): | ||
| 547 | - endbr64 | ||
| 548 | |||
| 549 | #if WINDOWS_ABI | ||
| 550 | push rdi | ||
| 551 | diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S b/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S | ||
| 552 | index 5ad712749..1dc1e5870 100644 | ||
| 553 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S | ||
| 554 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S | ||
| 555 | @@ -54,7 +54,6 @@ | ||
| 556 | |||
| 557 | |||
| 558 | S2N_BN_SYMBOL(bignum_cmadd): | ||
| 559 | - endbr64 | ||
| 560 | |||
| 561 | #if WINDOWS_ABI | ||
| 562 | push rdi | ||
| 563 | diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S b/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S | ||
| 564 | index 9199c8f48..c1a23ccea 100644 | ||
| 565 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S | ||
| 566 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S | ||
| 567 | @@ -51,7 +51,6 @@ | ||
| 568 | |||
| 569 | |||
| 570 | S2N_BN_SYMBOL(bignum_cmul): | ||
| 571 | - endbr64 | ||
| 572 | |||
| 573 | #if WINDOWS_ABI | ||
| 574 | push rdi | ||
| 575 | diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S b/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S | ||
| 576 | index 2d7ed1909..42ac988a1 100644 | ||
| 577 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S | ||
| 578 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S | ||
| 579 | @@ -59,7 +59,6 @@ | ||
| 580 | |||
| 581 | |||
| 582 | S2N_BN_SYMBOL(bignum_mul): | ||
| 583 | - endbr64 | ||
| 584 | |||
| 585 | #if WINDOWS_ABI | ||
| 586 | push rdi | ||
| 587 | 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 | ||
| 588 | index f02b09b28..3b7848b28 100644 | ||
| 589 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S | ||
| 590 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S | ||
| 591 | @@ -72,7 +72,6 @@ | ||
| 592 | adc h, rdx | ||
| 593 | |||
| 594 | S2N_BN_SYMBOL(bignum_mul_4_8_alt): | ||
| 595 | - endbr64 | ||
| 596 | |||
| 597 | #if WINDOWS_ABI | ||
| 598 | push rdi | ||
| 599 | 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 | ||
| 600 | index 97be83e1f..1be37840d 100644 | ||
| 601 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S | ||
| 602 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S | ||
| 603 | @@ -72,7 +72,6 @@ | ||
| 604 | adc h, rdx | ||
| 605 | |||
| 606 | S2N_BN_SYMBOL(bignum_mul_8_16_alt): | ||
| 607 | - endbr64 | ||
| 608 | |||
| 609 | #if WINDOWS_ABI | ||
| 610 | push rdi | ||
| 611 | diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S | ||
| 612 | index c4a0cabf3..2e05b9c17 100644 | ||
| 613 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S | ||
| 614 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S | ||
| 615 | @@ -62,7 +62,6 @@ | ||
| 616 | #define llshort ebp | ||
| 617 | |||
| 618 | S2N_BN_SYMBOL(bignum_sqr): | ||
| 619 | - endbr64 | ||
| 620 | |||
| 621 | #if WINDOWS_ABI | ||
| 622 | push rdi | ||
| 623 | 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 | ||
| 624 | index b228414dc..a635177c6 100644 | ||
| 625 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S | ||
| 626 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S | ||
| 627 | @@ -71,7 +71,6 @@ | ||
| 628 | adc c, 0 | ||
| 629 | |||
| 630 | S2N_BN_SYMBOL(bignum_sqr_4_8_alt): | ||
| 631 | - endbr64 | ||
| 632 | |||
| 633 | #if WINDOWS_ABI | ||
| 634 | push rdi | ||
| 635 | 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 | ||
| 636 | index 04efeec7e..f698202d2 100644 | ||
| 637 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S | ||
| 638 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S | ||
| 639 | @@ -103,7 +103,6 @@ | ||
| 640 | adc c, 0 | ||
| 641 | |||
| 642 | S2N_BN_SYMBOL(bignum_sqr_8_16_alt): | ||
| 643 | - endbr64 | ||
| 644 | |||
| 645 | #if WINDOWS_ABI | ||
| 646 | push rdi | ||
| 647 | diff --git a/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S b/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S | ||
| 648 | index 11a9bd7ed..f8e1fe35a 100644 | ||
| 649 | --- a/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S | ||
| 650 | +++ b/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S | ||
| 651 | @@ -49,7 +49,6 @@ | ||
| 652 | |||
| 653 | |||
| 654 | S2N_BN_SYMBOL(bignum_sub): | ||
| 655 | - endbr64 | ||
| 656 | |||
| 657 | #if WINDOWS_ABI | ||
| 658 | push rdi | ||
| 659 | diff --git a/src/lib/libcrypto/bn/arch/amd64/word_clz.S b/src/lib/libcrypto/bn/arch/amd64/word_clz.S | ||
| 660 | index 464a9d90f..025e98f9c 100644 | ||
| 661 | --- a/src/lib/libcrypto/bn/arch/amd64/word_clz.S | ||
| 662 | +++ b/src/lib/libcrypto/bn/arch/amd64/word_clz.S | ||
| 663 | @@ -30,7 +30,6 @@ | ||
| 664 | .text | ||
| 665 | |||
| 666 | S2N_BN_SYMBOL(word_clz): | ||
| 667 | - endbr64 | ||
| 668 | |||
| 669 | #if WINDOWS_ABI | ||
| 670 | push rdi | ||
| 671 | diff --git a/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl b/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl | ||
| 672 | index af78fff54..2e71a7f03 100644 | ||
| 673 | --- a/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl | ||
| 674 | +++ b/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl | ||
| 675 | @@ -347,7 +347,6 @@ $code.=<<___; | ||
| 676 | .type MULADD_128x512,\@abi-omnipotent | ||
| 677 | .align 16 | ||
| 678 | MULADD_128x512: | ||
| 679 | - endbr64 | ||
| 680 | ___ | ||
| 681 | &MULSTEP_512([map("%r$_",(8..15))], "(+8*0)(%rcx)", "%rsi", "%rbp", "%rbx"); | ||
| 682 | $code.=<<___; | ||
| 683 | @@ -415,7 +414,6 @@ $code.=<<___; | ||
| 684 | .type mont_reduce,\@abi-omnipotent | ||
| 685 | .align 16 | ||
| 686 | mont_reduce: | ||
| 687 | - endbr64 | ||
| 688 | ___ | ||
| 689 | |||
| 690 | my $STACK_DEPTH = 8; | ||
| 691 | @@ -678,7 +676,6 @@ $code.=<<___; | ||
| 692 | .type mont_mul_a3b,\@abi-omnipotent | ||
| 693 | .align 16 | ||
| 694 | mont_mul_a3b: | ||
| 695 | - endbr64 | ||
| 696 | # | ||
| 697 | # multiply tmp = src1 * src2 | ||
| 698 | # For multiply: dst = rcx, src1 = rdi, src2 = rsi | ||
| 699 | @@ -1080,7 +1077,6 @@ $code.=<<___; | ||
| 700 | .type sqr_reduce,\@abi-omnipotent | ||
| 701 | .align 16 | ||
| 702 | sqr_reduce: | ||
| 703 | - endbr64 | ||
| 704 | mov (+$pResult_offset+8)(%rsp), %rcx | ||
| 705 | ___ | ||
| 706 | &SQR_512("%rsp+$tmp16_offset+8", "%rcx", [map("%r$_",(10..15,8..9))], "%rbx", "%rbp", "%rsi", "%rdi"); | ||
| 707 | @@ -1110,7 +1106,6 @@ $code.=<<___; | ||
| 708 | .globl mod_exp_512 | ||
| 709 | .type mod_exp_512,\@function,4 | ||
| 710 | mod_exp_512: | ||
| 711 | - endbr64 | ||
| 712 | push %rbp | ||
| 713 | push %rbx | ||
| 714 | push %r12 | ||
| 715 | diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont.pl b/src/lib/libcrypto/bn/asm/x86_64-mont.pl | ||
| 716 | index 6f5ab331e..cae7309d5 100755 | ||
| 717 | --- a/src/lib/libcrypto/bn/asm/x86_64-mont.pl | ||
| 718 | +++ b/src/lib/libcrypto/bn/asm/x86_64-mont.pl | ||
| 719 | @@ -63,7 +63,6 @@ $code=<<___; | ||
| 720 | .type bn_mul_mont,\@function,6 | ||
| 721 | .align 16 | ||
| 722 | bn_mul_mont: | ||
| 723 | - endbr64 | ||
| 724 | test \$3,${num}d | ||
| 725 | jnz .Lmul_enter | ||
| 726 | cmp \$8,${num}d | ||
| 727 | @@ -279,7 +278,6 @@ $code.=<<___; | ||
| 728 | .align 16 | ||
| 729 | bn_mul4x_mont: | ||
| 730 | .Lmul4x_enter: | ||
| 731 | - endbr64 | ||
| 732 | push %rbx | ||
| 733 | push %rbp | ||
| 734 | push %r12 | ||
| 735 | @@ -707,7 +705,6 @@ $code.=<<___; | ||
| 736 | .align 16 | ||
| 737 | bn_sqr4x_mont: | ||
| 738 | .Lsqr4x_enter: | ||
| 739 | - endbr64 | ||
| 740 | push %rbx | ||
| 741 | push %rbp | ||
| 742 | push %r12 | ||
| 743 | diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 744 | index 3b3325a6c..7b9c6df27 100755 | ||
| 745 | --- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 746 | +++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 747 | @@ -57,7 +57,6 @@ $code=<<___; | ||
| 748 | .type bn_mul_mont_gather5,\@function,6 | ||
| 749 | .align 64 | ||
| 750 | bn_mul_mont_gather5: | ||
| 751 | - endbr64 | ||
| 752 | test \$3,${num}d | ||
| 753 | jnz .Lmul_enter | ||
| 754 | cmp \$8,${num}d | ||
| 755 | @@ -388,7 +387,6 @@ $code.=<<___; | ||
| 756 | .type bn_mul4x_mont_gather5,\@function,6 | ||
| 757 | .align 16 | ||
| 758 | bn_mul4x_mont_gather5: | ||
| 759 | - endbr64 | ||
| 760 | .Lmul4x_enter: | ||
| 761 | mov ${num}d,${num}d | ||
| 762 | movd `($win64?56:8)`(%rsp),%xmm5 # load 7th argument | ||
| 763 | @@ -927,7 +925,6 @@ $code.=<<___; | ||
| 764 | .type bn_scatter5,\@abi-omnipotent | ||
| 765 | .align 16 | ||
| 766 | bn_scatter5: | ||
| 767 | - endbr64 | ||
| 768 | cmp \$0, $num | ||
| 769 | jz .Lscatter_epilogue | ||
| 770 | lea ($tbl,$idx,8),$tbl | ||
| 771 | @@ -946,7 +943,6 @@ bn_scatter5: | ||
| 772 | .type bn_gather5,\@abi-omnipotent | ||
| 773 | .align 16 | ||
| 774 | bn_gather5: | ||
| 775 | - endbr64 | ||
| 776 | .LSEH_begin_bn_gather5: # Win64 thing, but harmless in other cases | ||
| 777 | # I can't trust assembler to use specific encoding:-( | ||
| 778 | .byte 0x4c,0x8d,0x14,0x24 # lea (%rsp),%r10 | ||
| 779 | @@ -1057,7 +1053,6 @@ $code.=<<___; | ||
| 780 | .type mul_handler,\@abi-omnipotent | ||
| 781 | .align 16 | ||
| 782 | mul_handler: | ||
| 783 | - endbr64 | ||
| 784 | push %rsi | ||
| 785 | push %rdi | ||
| 786 | push %rbx | ||
| 787 | diff --git a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 788 | index 3ceed3e89..586e5d6e9 100644 | ||
| 789 | --- a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 790 | +++ b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 791 | @@ -116,7 +116,6 @@ $code=<<___; | ||
| 792 | .type Camellia_EncryptBlock,\@abi-omnipotent | ||
| 793 | .align 16 | ||
| 794 | Camellia_EncryptBlock: | ||
| 795 | - endbr64 | ||
| 796 | movl \$128,%eax | ||
| 797 | subl $arg0d,%eax | ||
| 798 | movl \$3,$arg0d | ||
| 799 | @@ -129,7 +128,6 @@ Camellia_EncryptBlock: | ||
| 800 | .align 16 | ||
| 801 | .Lenc_rounds: | ||
| 802 | Camellia_EncryptBlock_Rounds: | ||
| 803 | - endbr64 | ||
| 804 | push %rbx | ||
| 805 | push %rbp | ||
| 806 | push %r13 | ||
| 807 | @@ -178,7 +176,6 @@ Camellia_EncryptBlock_Rounds: | ||
| 808 | .type _x86_64_Camellia_encrypt,\@abi-omnipotent | ||
| 809 | .align 16 | ||
| 810 | _x86_64_Camellia_encrypt: | ||
| 811 | - endbr64 | ||
| 812 | xor 0($key),@S[1] | ||
| 813 | xor 4($key),@S[0] # ^=key[0-3] | ||
| 814 | xor 8($key),@S[3] | ||
| 815 | @@ -229,7 +226,6 @@ $code.=<<___; | ||
| 816 | .type Camellia_DecryptBlock,\@abi-omnipotent | ||
| 817 | .align 16 | ||
| 818 | Camellia_DecryptBlock: | ||
| 819 | - endbr64 | ||
| 820 | movl \$128,%eax | ||
| 821 | subl $arg0d,%eax | ||
| 822 | movl \$3,$arg0d | ||
| 823 | @@ -242,7 +238,6 @@ Camellia_DecryptBlock: | ||
| 824 | .align 16 | ||
| 825 | .Ldec_rounds: | ||
| 826 | Camellia_DecryptBlock_Rounds: | ||
| 827 | - endbr64 | ||
| 828 | push %rbx | ||
| 829 | push %rbp | ||
| 830 | push %r13 | ||
| 831 | @@ -291,7 +286,6 @@ Camellia_DecryptBlock_Rounds: | ||
| 832 | .type _x86_64_Camellia_decrypt,\@abi-omnipotent | ||
| 833 | .align 16 | ||
| 834 | _x86_64_Camellia_decrypt: | ||
| 835 | - endbr64 | ||
| 836 | xor 0($key),@S[1] | ||
| 837 | xor 4($key),@S[0] # ^=key[0-3] | ||
| 838 | xor 8($key),@S[3] | ||
| 839 | @@ -406,7 +400,6 @@ $code.=<<___; | ||
| 840 | .type Camellia_Ekeygen,\@function,3 | ||
| 841 | .align 16 | ||
| 842 | Camellia_Ekeygen: | ||
| 843 | - endbr64 | ||
| 844 | push %rbx | ||
| 845 | push %rbp | ||
| 846 | push %r13 | ||
| 847 | @@ -637,7 +630,6 @@ $code.=<<___; | ||
| 848 | .type Camellia_cbc_encrypt,\@function,6 | ||
| 849 | .align 16 | ||
| 850 | Camellia_cbc_encrypt: | ||
| 851 | - endbr64 | ||
| 852 | cmp \$0,%rdx | ||
| 853 | je .Lcbc_abort | ||
| 854 | push %rbx | ||
| 855 | diff --git a/src/lib/libcrypto/md5/asm/md5-x86_64.pl b/src/lib/libcrypto/md5/asm/md5-x86_64.pl | ||
| 856 | index 06d69094f..c902a1b53 100755 | ||
| 857 | --- a/src/lib/libcrypto/md5/asm/md5-x86_64.pl | ||
| 858 | +++ b/src/lib/libcrypto/md5/asm/md5-x86_64.pl | ||
| 859 | @@ -128,7 +128,6 @@ $code .= <<EOF; | ||
| 860 | .globl md5_block_asm_data_order | ||
| 861 | .type md5_block_asm_data_order,\@function,3 | ||
| 862 | md5_block_asm_data_order: | ||
| 863 | - endbr64 | ||
| 864 | push %rbp | ||
| 865 | push %rbx | ||
| 866 | push %r12 | ||
| 867 | diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 868 | index 9ce0c3814..71d0822ac 100644 | ||
| 869 | --- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 870 | +++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 871 | @@ -412,7 +412,6 @@ $code.=<<___; | ||
| 872 | .type gcm_init_clmul,\@abi-omnipotent | ||
| 873 | .align 16 | ||
| 874 | gcm_init_clmul: | ||
| 875 | - endbr64 | ||
| 876 | movdqu ($Xip),$Hkey | ||
| 877 | pshufd \$0b01001110,$Hkey,$Hkey # dword swap | ||
| 878 | |||
| 879 | @@ -450,7 +449,6 @@ $code.=<<___; | ||
| 880 | .type gcm_gmult_clmul,\@abi-omnipotent | ||
| 881 | .align 16 | ||
| 882 | gcm_gmult_clmul: | ||
| 883 | - endbr64 | ||
| 884 | movdqu ($Xip),$Xi | ||
| 885 | movdqa .Lbswap_mask(%rip),$T3 | ||
| 886 | movdqu ($Htbl),$Hkey | ||
| 887 | @@ -478,7 +476,6 @@ $code.=<<___; | ||
| 888 | .type gcm_ghash_clmul,\@abi-omnipotent | ||
| 889 | .align 16 | ||
| 890 | gcm_ghash_clmul: | ||
| 891 | - endbr64 | ||
| 892 | ___ | ||
| 893 | $code.=<<___ if ($win64); | ||
| 894 | .LSEH_begin_gcm_ghash_clmul: | ||
| 895 | @@ -689,7 +686,6 @@ $code.=<<___; | ||
| 896 | .type se_handler,\@abi-omnipotent | ||
| 897 | .align 16 | ||
| 898 | se_handler: | ||
| 899 | - endbr64 | ||
| 900 | push %rsi | ||
| 901 | push %rdi | ||
| 902 | push %rbx | ||
| 903 | diff --git a/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl | ||
| 904 | index 3190e6a8e..c65a2c751 100644 | ||
| 905 | --- a/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl | ||
| 906 | +++ b/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl | ||
| 907 | @@ -38,7 +38,7 @@ my ($rc4,$md5)=(1,1); # what to generate? | ||
| 908 | my $D="#" if (!$md5); # if set to "#", MD5 is stitched into RC4(), | ||
| 909 | # but its result is discarded. Idea here is | ||
| 910 | # to be able to use 'openssl speed rc4' for | ||
| 911 | - # benchmarking the stitched subroutine... | ||
| 912 | + # benchmarking the stitched subroutine... | ||
| 913 | |||
| 914 | my $flavour = shift; | ||
| 915 | my $output = shift; | ||
| 916 | @@ -109,7 +109,6 @@ $code.=<<___; | ||
| 917 | .globl $func | ||
| 918 | .type $func,\@function,$nargs | ||
| 919 | $func: | ||
| 920 | - endbr64 | ||
| 921 | cmp \$0,$len | ||
| 922 | je .Labort | ||
| 923 | push %rbx | ||
| 924 | @@ -405,7 +404,7 @@ $code.=<<___ if ($rc4 && (!$md5 || $D)); | ||
| 925 | and \$63,$len # remaining bytes | ||
| 926 | jnz .Loop1 | ||
| 927 | jmp .Ldone | ||
| 928 | - | ||
| 929 | + | ||
| 930 | .align 16 | ||
| 931 | .Loop1: | ||
| 932 | add $TX[0]#b,$YY#b | ||
| 933 | @@ -454,7 +453,6 @@ $code.=<<___; | ||
| 934 | .type RC4_set_key,\@function,3 | ||
| 935 | .align 16 | ||
| 936 | RC4_set_key: | ||
| 937 | - endbr64 | ||
| 938 | lea 8($dat),$dat | ||
| 939 | lea ($inp,$len),$inp | ||
| 940 | neg $len | ||
| 941 | diff --git a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | ||
| 942 | index 0472acce8..f678daaac 100755 | ||
| 943 | --- a/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | ||
| 944 | +++ b/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl | ||
| 945 | @@ -41,7 +41,7 @@ | ||
| 946 | |||
| 947 | # April 2005 | ||
| 948 | # | ||
| 949 | -# P4 EM64T core appears to be "allergic" to 64-bit inc/dec. Replacing | ||
| 950 | +# P4 EM64T core appears to be "allergic" to 64-bit inc/dec. Replacing | ||
| 951 | # those with add/sub results in 50% performance improvement of folded | ||
| 952 | # loop... | ||
| 953 | |||
| 954 | @@ -127,9 +127,7 @@ $code=<<___; | ||
| 955 | .globl RC4 | ||
| 956 | .type RC4,\@function,4 | ||
| 957 | .align 16 | ||
| 958 | -RC4: | ||
| 959 | - endbr64 | ||
| 960 | - or $len,$len | ||
| 961 | +RC4: or $len,$len | ||
| 962 | jne .Lentry | ||
| 963 | ret | ||
| 964 | .Lentry: | ||
| 965 | @@ -435,7 +433,6 @@ $code.=<<___; | ||
| 966 | .type RC4_set_key,\@function,3 | ||
| 967 | .align 16 | ||
| 968 | RC4_set_key: | ||
| 969 | - endbr64 | ||
| 970 | lea 8($dat),$dat | ||
| 971 | lea ($inp,$len),$inp | ||
| 972 | neg $len | ||
| 973 | diff --git a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 974 | index e15ff47f8..43eee73c4 100755 | ||
| 975 | --- a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 976 | +++ b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 977 | @@ -222,7 +222,6 @@ $code.=<<___; | ||
| 978 | .type sha1_block_data_order,\@function,3 | ||
| 979 | .align 16 | ||
| 980 | sha1_block_data_order: | ||
| 981 | - endbr64 | ||
| 982 | mov OPENSSL_ia32cap_P+0(%rip),%r9d | ||
| 983 | mov OPENSSL_ia32cap_P+4(%rip),%r8d | ||
| 984 | test \$IA32CAP_MASK1_SSSE3,%r8d # check SSSE3 bit | ||
| 985 | @@ -310,7 +309,6 @@ $code.=<<___; | ||
| 986 | .align 16 | ||
| 987 | sha1_block_data_order_ssse3: | ||
| 988 | _ssse3_shortcut: | ||
| 989 | - endbr64 | ||
| 990 | push %rbx | ||
| 991 | push %rbp | ||
| 992 | push %r12 | ||
| 993 | @@ -731,7 +729,6 @@ $code.=<<___; | ||
| 994 | .align 16 | ||
| 995 | sha1_block_data_order_avx: | ||
| 996 | _avx_shortcut: | ||
| 997 | - endbr64 | ||
| 998 | push %rbx | ||
| 999 | push %rbp | ||
| 1000 | push %r12 | ||
| 1001 | @@ -1102,7 +1099,6 @@ $code.=<<___; | ||
| 1002 | .type se_handler,\@abi-omnipotent | ||
| 1003 | .align 16 | ||
| 1004 | se_handler: | ||
| 1005 | - endbr64 | ||
| 1006 | push %rsi | ||
| 1007 | push %rdi | ||
| 1008 | push %rbx | ||
| 1009 | diff --git a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 1010 | index 120693fee..0517eab66 100755 | ||
| 1011 | --- a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 1012 | +++ b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 1013 | @@ -175,7 +175,6 @@ $code=<<___; | ||
| 1014 | .type $func,\@function,4 | ||
| 1015 | .align 16 | ||
| 1016 | $func: | ||
| 1017 | - endbr64 | ||
| 1018 | push %rbx | ||
| 1019 | push %rbp | ||
| 1020 | push %r12 | ||
| 1021 | diff --git a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 1022 | index 7958f6d28..de5d3acfb 100644 | ||
| 1023 | --- a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 1024 | +++ b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 1025 | @@ -57,7 +57,6 @@ $code=<<___; | ||
| 1026 | .type $func,\@function,3 | ||
| 1027 | .align 16 | ||
| 1028 | $func: | ||
| 1029 | - endbr64 | ||
| 1030 | push %rbx | ||
| 1031 | push %rbp | ||
| 1032 | push %r12 | ||
| 1033 | diff --git a/src/lib/libcrypto/x86_64cpuid.pl b/src/lib/libcrypto/x86_64cpuid.pl | ||
| 1034 | index dc56732a2..1b67d1110 100644 | ||
| 1035 | --- a/src/lib/libcrypto/x86_64cpuid.pl | ||
| 1036 | +++ b/src/lib/libcrypto/x86_64cpuid.pl | ||
| 1037 | @@ -18,7 +18,6 @@ print<<___; | ||
| 1038 | .extern OPENSSL_cpuid_setup | ||
| 1039 | .hidden OPENSSL_cpuid_setup | ||
| 1040 | .section .init | ||
| 1041 | - endbr64 | ||
| 1042 | call OPENSSL_cpuid_setup | ||
| 1043 | |||
| 1044 | .extern OPENSSL_ia32cap_P | ||
| 1045 | @@ -30,7 +29,6 @@ print<<___; | ||
| 1046 | .type OPENSSL_ia32_cpuid,\@abi-omnipotent | ||
| 1047 | .align 16 | ||
| 1048 | OPENSSL_ia32_cpuid: | ||
| 1049 | - endbr64 | ||
| 1050 | mov %rbx,%r8 # save %rbx | ||
| 1051 | |||
| 1052 | xor %eax,%eax | ||
| 1053 | -- | ||
| 1054 | 2.42.0 | ||
| 1055 | |||
diff --git a/patches/asm/0002-Revert-Use-explicit-.text-instead-of-.previous-to-pl.patch b/patches/asm/0002-Revert-Use-explicit-.text-instead-of-.previous-to-pl.patch deleted file mode 100644 index 58568f5..0000000 --- a/patches/asm/0002-Revert-Use-explicit-.text-instead-of-.previous-to-pl.patch +++ /dev/null | |||
| @@ -1,162 +0,0 @@ | |||
| 1 | From 8861777e025998cc80bb9e39e88a332e8aec2f26 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brent Cook <busterb@gmail.com> | ||
| 3 | Date: Mon, 30 Oct 2023 22:00:12 -0500 | ||
| 4 | Subject: [PATCH 2/4] Revert "Use explicit .text instead of .previous to please | ||
| 5 | Windows/MinGW on amd64" | ||
| 6 | |||
| 7 | This reverts commit e8192f57c4e5910ce7badced4a24c8827810d567. | ||
| 8 | --- | ||
| 9 | src/lib/libcrypto/aes/asm/aes-x86_64.pl | 2 +- | ||
| 10 | src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | 2 +- | ||
| 11 | src/lib/libcrypto/aes/asm/aesni-x86_64.pl | 2 +- | ||
| 12 | src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | 2 +- | ||
| 13 | src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | 2 +- | ||
| 14 | src/lib/libcrypto/bn/asm/x86_64-mont5.pl | 2 +- | ||
| 15 | src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | 2 +- | ||
| 16 | src/lib/libcrypto/modes/asm/ghash-x86_64.pl | 2 +- | ||
| 17 | src/lib/libcrypto/sha/asm/sha1-x86_64.pl | 2 +- | ||
| 18 | src/lib/libcrypto/sha/asm/sha512-x86_64.pl | 4 ++-- | ||
| 19 | 10 files changed, 11 insertions(+), 11 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 22 | index b7399b552..2986a9fcc 100755 | ||
| 23 | --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 24 | +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 25 | @@ -2535,7 +2535,7 @@ $code.=<<___; | ||
| 26 | .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe | ||
| 27 | .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 | ||
| 28 | .align 64 | ||
| 29 | -.text | ||
| 30 | +.previous | ||
| 31 | ___ | ||
| 32 | |||
| 33 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 34 | diff --git a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 35 | index bafa906a0..8a428c9b1 100644 | ||
| 36 | --- a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 37 | +++ b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 38 | @@ -1084,7 +1084,7 @@ K_XX_XX: | ||
| 39 | .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79 | ||
| 40 | .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask | ||
| 41 | .align 64 | ||
| 42 | -.text | ||
| 43 | +.previous | ||
| 44 | ___ | ||
| 45 | |||
| 46 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 47 | diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 48 | index e662fbc7c..09612b1f8 100644 | ||
| 49 | --- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 50 | +++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 51 | @@ -2732,7 +2732,7 @@ $code.=<<___; | ||
| 52 | .Lxts_magic: | ||
| 53 | .long 0x87,0,1,0 | ||
| 54 | .align 64 | ||
| 55 | -.text | ||
| 56 | +.previous | ||
| 57 | ___ | ||
| 58 | |||
| 59 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 60 | diff --git a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 61 | index 20e9e1f71..347f4c302 100644 | ||
| 62 | --- a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 63 | +++ b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 64 | @@ -2937,7 +2937,7 @@ _bsaes_const: | ||
| 65 | .quad 0x6363636363636363, 0x6363636363636363 | ||
| 66 | .align 64 | ||
| 67 | .size _bsaes_const,.-_bsaes_const | ||
| 68 | -.text | ||
| 69 | +.previous | ||
| 70 | ___ | ||
| 71 | |||
| 72 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 73 | diff --git a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 74 | index 3ffb1a303..ad5fa7522 100644 | ||
| 75 | --- a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 76 | +++ b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 77 | @@ -1063,7 +1063,7 @@ _vpaes_consts: | ||
| 78 | .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C | ||
| 79 | .align 64 | ||
| 80 | .size _vpaes_consts,.-_vpaes_consts | ||
| 81 | -.text | ||
| 82 | +.previous | ||
| 83 | ___ | ||
| 84 | |||
| 85 | if ($win64) { | ||
| 86 | diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 87 | index 7b9c6df27..1c8aa255c 100755 | ||
| 88 | --- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 89 | +++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 90 | @@ -1037,7 +1037,7 @@ $code.=<<___; | ||
| 91 | .Linc: | ||
| 92 | .long 0,0, 1,1 | ||
| 93 | .long 2,2, 2,2 | ||
| 94 | -.text | ||
| 95 | +.previous | ||
| 96 | ___ | ||
| 97 | |||
| 98 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 99 | diff --git a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 100 | index 586e5d6e9..c16725f5c 100644 | ||
| 101 | --- a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 102 | +++ b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 103 | @@ -625,7 +625,7 @@ $_ivp="40(%rsp)"; | ||
| 104 | $_rsp="48(%rsp)"; | ||
| 105 | |||
| 106 | $code.=<<___; | ||
| 107 | -.text | ||
| 108 | +.previous | ||
| 109 | .globl Camellia_cbc_encrypt | ||
| 110 | .type Camellia_cbc_encrypt,\@function,6 | ||
| 111 | .align 16 | ||
| 112 | diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 113 | index 71d0822ac..bce62947f 100644 | ||
| 114 | --- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 115 | +++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 116 | @@ -670,7 +670,7 @@ $code.=<<___; | ||
| 117 | .value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE | ||
| 118 | .value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE | ||
| 119 | .align 64 | ||
| 120 | -.text | ||
| 121 | +.previous | ||
| 122 | ___ | ||
| 123 | |||
| 124 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 125 | diff --git a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 126 | index 43eee73c4..1ec7f609a 100755 | ||
| 127 | --- a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 128 | +++ b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 129 | @@ -1079,7 +1079,7 @@ K_XX_XX: | ||
| 130 | .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59 | ||
| 131 | .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79 | ||
| 132 | .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask | ||
| 133 | -.text | ||
| 134 | +.previous | ||
| 135 | ___ | ||
| 136 | }}} | ||
| 137 | $code.=<<___; | ||
| 138 | diff --git a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 139 | index 0517eab66..1a7d9bf2d 100755 | ||
| 140 | --- a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 141 | +++ b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 142 | @@ -289,7 +289,7 @@ $TABLE: | ||
| 143 | .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 | ||
| 144 | .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 | ||
| 145 | .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 | ||
| 146 | -.text | ||
| 147 | +.previous | ||
| 148 | ___ | ||
| 149 | } else { | ||
| 150 | $code.=<<___; | ||
| 151 | @@ -337,7 +337,7 @@ $TABLE: | ||
| 152 | .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c | ||
| 153 | .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a | ||
| 154 | .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 | ||
| 155 | -.text | ||
| 156 | +.previous | ||
| 157 | ___ | ||
| 158 | } | ||
| 159 | |||
| 160 | -- | ||
| 161 | 2.42.0 | ||
| 162 | |||
diff --git a/patches/asm/0003-Revert-Use-.section-.rodata-instead-of-a-plain-.roda.patch b/patches/asm/0003-Revert-Use-.section-.rodata-instead-of-a-plain-.roda.patch deleted file mode 100644 index 165f2c0..0000000 --- a/patches/asm/0003-Revert-Use-.section-.rodata-instead-of-a-plain-.roda.patch +++ /dev/null | |||
| @@ -1,203 +0,0 @@ | |||
| 1 | From 1407448470aff891f9a9eff550ecda06202ffd29 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brent Cook <busterb@gmail.com> | ||
| 3 | Date: Mon, 30 Oct 2023 22:00:49 -0500 | ||
| 4 | Subject: [PATCH 3/4] Revert "Use .section .rodata instead of a plain .rodata" | ||
| 5 | |||
| 6 | This reverts commit 67afc07de0ed3a0ccc272df42853ba565a8277c6. | ||
| 7 | --- | ||
| 8 | src/lib/libcrypto/aes/asm/aes-x86_64.pl | 2 +- | ||
| 9 | src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | 2 +- | ||
| 10 | src/lib/libcrypto/aes/asm/aesni-x86_64.pl | 2 +- | ||
| 11 | src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | 2 +- | ||
| 12 | src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | 2 +- | ||
| 13 | src/lib/libcrypto/bn/asm/x86_64-mont5.pl | 2 +- | ||
| 14 | src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | 2 +- | ||
| 15 | src/lib/libcrypto/modes/asm/ghash-x86_64.pl | 2 +- | ||
| 16 | src/lib/libcrypto/perlasm/x86gas.pl | 2 +- | ||
| 17 | src/lib/libcrypto/sha/asm/sha1-x86_64.pl | 2 +- | ||
| 18 | src/lib/libcrypto/sha/asm/sha512-ppc.pl | 2 +- | ||
| 19 | src/lib/libcrypto/sha/asm/sha512-x86_64.pl | 4 ++-- | ||
| 20 | src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | 2 +- | ||
| 21 | 13 files changed, 14 insertions(+), 14 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 24 | index 2986a9fcc..d9f501b25 100755 | ||
| 25 | --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 26 | +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 27 | @@ -2113,7 +2113,7 @@ ___ | ||
| 28 | } | ||
| 29 | |||
| 30 | $code.=<<___; | ||
| 31 | -.section .rodata | ||
| 32 | +.rodata | ||
| 33 | .align 64 | ||
| 34 | .LAES_Te: | ||
| 35 | ___ | ||
| 36 | diff --git a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 37 | index 8a428c9b1..4e83b6ba4 100644 | ||
| 38 | --- a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 39 | +++ b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 40 | @@ -1075,7 +1075,7 @@ $code.=<<___; | ||
| 41 | ___ | ||
| 42 | } | ||
| 43 | $code.=<<___; | ||
| 44 | -.section .rodata | ||
| 45 | +.rodata | ||
| 46 | .align 64 | ||
| 47 | K_XX_XX: | ||
| 48 | .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19 | ||
| 49 | diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 50 | index 09612b1f8..2ab7106c0 100644 | ||
| 51 | --- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 52 | +++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 53 | @@ -2721,7 +2721,7 @@ ___ | ||
| 54 | } | ||
| 55 | |||
| 56 | $code.=<<___; | ||
| 57 | -.section .rodata | ||
| 58 | +.rodata | ||
| 59 | .align 64 | ||
| 60 | .Lbswap_mask: | ||
| 61 | .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | ||
| 62 | diff --git a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 63 | index 347f4c302..a40f83601 100644 | ||
| 64 | --- a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 65 | +++ b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 66 | @@ -2882,7 +2882,7 @@ $code.=<<___; | ||
| 67 | ___ | ||
| 68 | } | ||
| 69 | $code.=<<___; | ||
| 70 | -.section .rodata | ||
| 71 | +.rodata | ||
| 72 | .type _bsaes_const,\@object | ||
| 73 | .align 64 | ||
| 74 | _bsaes_const: | ||
| 75 | diff --git a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 76 | index ad5fa7522..63af96c1d 100644 | ||
| 77 | --- a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 78 | +++ b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 79 | @@ -964,7 +964,7 @@ _vpaes_preheat: | ||
| 80 | ## Constants ## | ||
| 81 | ## ## | ||
| 82 | ######################################################## | ||
| 83 | -.section .rodata | ||
| 84 | +.rodata | ||
| 85 | .type _vpaes_consts,\@object | ||
| 86 | .align 64 | ||
| 87 | _vpaes_consts: | ||
| 88 | diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 89 | index 1c8aa255c..5d30f210c 100755 | ||
| 90 | --- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 91 | +++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 92 | @@ -1032,7 +1032,7 @@ $code.=<<___; | ||
| 93 | ___ | ||
| 94 | } | ||
| 95 | $code.=<<___; | ||
| 96 | -.section .rodata | ||
| 97 | +.rodata | ||
| 98 | .align 64 | ||
| 99 | .Linc: | ||
| 100 | .long 0,0, 1,1 | ||
| 101 | diff --git a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 102 | index c16725f5c..90c56d9e5 100644 | ||
| 103 | --- a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 104 | +++ b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 105 | @@ -599,7 +599,7 @@ sub S0222 { my $i=shift; $i=@SBOX[$i]; $i=($i<<1|$i>>7)&0xff; $i=$i<<16|$i<<8|$i | ||
| 106 | sub S3033 { my $i=shift; $i=@SBOX[$i]; $i=($i>>1|$i<<7)&0xff; $i=$i<<24|$i<<8|$i; sprintf("0x%08x",$i); } | ||
| 107 | |||
| 108 | $code.=<<___; | ||
| 109 | -.section .rodata | ||
| 110 | +.rodata | ||
| 111 | .align 64 | ||
| 112 | .LCamellia_SIGMA: | ||
| 113 | .long 0x3bcc908b, 0xa09e667f, 0x4caa73b2, 0xb67ae858 | ||
| 114 | diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 115 | index bce62947f..3ae8629cb 100644 | ||
| 116 | --- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 117 | +++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 118 | @@ -622,7 +622,7 @@ ___ | ||
| 119 | } | ||
| 120 | |||
| 121 | $code.=<<___; | ||
| 122 | -.section .rodata | ||
| 123 | +.rodata | ||
| 124 | .align 64 | ||
| 125 | .Lbswap_mask: | ||
| 126 | .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | ||
| 127 | diff --git a/src/lib/libcrypto/perlasm/x86gas.pl b/src/lib/libcrypto/perlasm/x86gas.pl | ||
| 128 | index b84e28be9..f28a59054 100644 | ||
| 129 | --- a/src/lib/libcrypto/perlasm/x86gas.pl | ||
| 130 | +++ b/src/lib/libcrypto/perlasm/x86gas.pl | ||
| 131 | @@ -307,7 +307,7 @@ sub ::dataseg | ||
| 132 | { push(@out,".data\n"); } | ||
| 133 | |||
| 134 | sub ::rodataseg | ||
| 135 | -{ push(@out,".section .rodata\n"); } | ||
| 136 | +{ push(@out,".rodata\n"); } | ||
| 137 | |||
| 138 | sub ::previous | ||
| 139 | { push(@out,".previous\n"); } | ||
| 140 | diff --git a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 141 | index 1ec7f609a..0abbbab6b 100755 | ||
| 142 | --- a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 143 | +++ b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 144 | @@ -1071,7 +1071,7 @@ $code.=<<___; | ||
| 145 | ___ | ||
| 146 | } | ||
| 147 | $code.=<<___; | ||
| 148 | -.section .rodata | ||
| 149 | +.rodata | ||
| 150 | .align 64 | ||
| 151 | K_XX_XX: | ||
| 152 | .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19 | ||
| 153 | diff --git a/src/lib/libcrypto/sha/asm/sha512-ppc.pl b/src/lib/libcrypto/sha/asm/sha512-ppc.pl | ||
| 154 | index 28bd997cf..1f02cfdd5 100755 | ||
| 155 | --- a/src/lib/libcrypto/sha/asm/sha512-ppc.pl | ||
| 156 | +++ b/src/lib/libcrypto/sha/asm/sha512-ppc.pl | ||
| 157 | @@ -375,7 +375,7 @@ $code.=<<___; | ||
| 158 | $ST $H,`7*$SZ`($ctx) | ||
| 159 | bne Lsha2_block_private | ||
| 160 | blr | ||
| 161 | - .section .rodata | ||
| 162 | + .rodata | ||
| 163 | Ltable: | ||
| 164 | ___ | ||
| 165 | $code.=<<___ if ($SZ==8); | ||
| 166 | diff --git a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 167 | index 1a7d9bf2d..6698b1d40 100755 | ||
| 168 | --- a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 169 | +++ b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 170 | @@ -269,7 +269,7 @@ ___ | ||
| 171 | |||
| 172 | if ($SZ==4) { | ||
| 173 | $code.=<<___; | ||
| 174 | -.section .rodata | ||
| 175 | +.rodata | ||
| 176 | .align 64 | ||
| 177 | .type $TABLE,\@object | ||
| 178 | $TABLE: | ||
| 179 | @@ -293,7 +293,7 @@ $TABLE: | ||
| 180 | ___ | ||
| 181 | } else { | ||
| 182 | $code.=<<___; | ||
| 183 | -.section .rodata | ||
| 184 | +.rodata | ||
| 185 | .align 64 | ||
| 186 | .type $TABLE,\@object | ||
| 187 | $TABLE: | ||
| 188 | diff --git a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 189 | index de5d3acfb..510a74b91 100644 | ||
| 190 | --- a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 191 | +++ b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 192 | @@ -204,7 +204,7 @@ $code.=<<___; | ||
| 193 | ret | ||
| 194 | .size $func,.-$func | ||
| 195 | |||
| 196 | -.section .rodata | ||
| 197 | +.rodata | ||
| 198 | .align 64 | ||
| 199 | .type $table,\@object | ||
| 200 | $table: | ||
| 201 | -- | ||
| 202 | 2.42.0 | ||
| 203 | |||
diff --git a/patches/asm/0004-Revert-Move-constants-out-of-text-segment-into-rodat.patch b/patches/asm/0004-Revert-Move-constants-out-of-text-segment-into-rodat.patch deleted file mode 100644 index 1a17540..0000000 --- a/patches/asm/0004-Revert-Move-constants-out-of-text-segment-into-rodat.patch +++ /dev/null | |||
| @@ -1,292 +0,0 @@ | |||
| 1 | From 87b24a6d5a932061cc88b84a856663b328d1c166 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brent Cook <busterb@gmail.com> | ||
| 3 | Date: Mon, 30 Oct 2023 22:01:49 -0500 | ||
| 4 | Subject: [PATCH 4/4] Revert "Move constants out of text segment into rodata to | ||
| 5 | prepare for xonly support" | ||
| 6 | |||
| 7 | This reverts commit b5834617204e7520b0209bcff7f1c4a559e05422. | ||
| 8 | --- | ||
| 9 | src/lib/libcrypto/aes/asm/aes-x86_64.pl | 3 +-- | ||
| 10 | src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | 4 ++-- | ||
| 11 | src/lib/libcrypto/aes/asm/aesni-x86_64.pl | 4 ++-- | ||
| 12 | src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | 3 +-- | ||
| 13 | src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | 3 +-- | ||
| 14 | src/lib/libcrypto/bn/asm/x86_64-mont.pl | 4 ++++ | ||
| 15 | src/lib/libcrypto/bn/asm/x86_64-mont5.pl | 3 +-- | ||
| 16 | src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | 4 ++-- | ||
| 17 | src/lib/libcrypto/modes/asm/ghash-x86_64.pl | 4 ++-- | ||
| 18 | src/lib/libcrypto/sha/asm/sha1-x86_64.pl | 3 +-- | ||
| 19 | src/lib/libcrypto/sha/asm/sha512-x86_64.pl | 4 ---- | ||
| 20 | src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | 1 - | ||
| 21 | 12 files changed, 17 insertions(+), 23 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/src/lib/libcrypto/aes/asm/aes-x86_64.pl b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 24 | index d9f501b25..9072f603a 100755 | ||
| 25 | --- a/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 26 | +++ b/src/lib/libcrypto/aes/asm/aes-x86_64.pl | ||
| 27 | @@ -2113,7 +2113,6 @@ ___ | ||
| 28 | } | ||
| 29 | |||
| 30 | $code.=<<___; | ||
| 31 | -.rodata | ||
| 32 | .align 64 | ||
| 33 | .LAES_Te: | ||
| 34 | ___ | ||
| 35 | @@ -2534,8 +2533,8 @@ ___ | ||
| 36 | $code.=<<___; | ||
| 37 | .long 0x80808080, 0x80808080, 0xfefefefe, 0xfefefefe | ||
| 38 | .long 0x1b1b1b1b, 0x1b1b1b1b, 0, 0 | ||
| 39 | +.asciz "AES for x86_64, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 40 | .align 64 | ||
| 41 | -.previous | ||
| 42 | ___ | ||
| 43 | |||
| 44 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 45 | diff --git a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 46 | index 4e83b6ba4..880bcc2d5 100644 | ||
| 47 | --- a/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 48 | +++ b/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl | ||
| 49 | @@ -1075,7 +1075,6 @@ $code.=<<___; | ||
| 50 | ___ | ||
| 51 | } | ||
| 52 | $code.=<<___; | ||
| 53 | -.rodata | ||
| 54 | .align 64 | ||
| 55 | K_XX_XX: | ||
| 56 | .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19 | ||
| 57 | @@ -1083,8 +1082,9 @@ K_XX_XX: | ||
| 58 | .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59 | ||
| 59 | .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79 | ||
| 60 | .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask | ||
| 61 | + | ||
| 62 | +.asciz "AESNI-CBC+SHA1 stitch for x86_64, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 63 | .align 64 | ||
| 64 | -.previous | ||
| 65 | ___ | ||
| 66 | |||
| 67 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 68 | diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 69 | index 2ab7106c0..96978bd35 100644 | ||
| 70 | --- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 71 | +++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 72 | @@ -2721,7 +2721,6 @@ ___ | ||
| 73 | } | ||
| 74 | |||
| 75 | $code.=<<___; | ||
| 76 | -.rodata | ||
| 77 | .align 64 | ||
| 78 | .Lbswap_mask: | ||
| 79 | .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | ||
| 80 | @@ -2731,8 +2730,9 @@ $code.=<<___; | ||
| 81 | .long 1,0,0,0 | ||
| 82 | .Lxts_magic: | ||
| 83 | .long 0x87,0,1,0 | ||
| 84 | + | ||
| 85 | +.asciz "AES for Intel AES-NI, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 86 | .align 64 | ||
| 87 | -.previous | ||
| 88 | ___ | ||
| 89 | |||
| 90 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 91 | diff --git a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 92 | index a40f83601..14dc2c02e 100644 | ||
| 93 | --- a/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 94 | +++ b/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl | ||
| 95 | @@ -2882,7 +2882,6 @@ $code.=<<___; | ||
| 96 | ___ | ||
| 97 | } | ||
| 98 | $code.=<<___; | ||
| 99 | -.rodata | ||
| 100 | .type _bsaes_const,\@object | ||
| 101 | .align 64 | ||
| 102 | _bsaes_const: | ||
| 103 | @@ -2935,9 +2934,9 @@ _bsaes_const: | ||
| 104 | .quad 0x02060a0e03070b0f, 0x0004080c0105090d | ||
| 105 | .L63: | ||
| 106 | .quad 0x6363636363636363, 0x6363636363636363 | ||
| 107 | +.asciz "Bit-sliced AES for x86_64/SSSE3, Emilia Käsper, Peter Schwabe, Andy Polyakov" | ||
| 108 | .align 64 | ||
| 109 | .size _bsaes_const,.-_bsaes_const | ||
| 110 | -.previous | ||
| 111 | ___ | ||
| 112 | |||
| 113 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 114 | diff --git a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 115 | index 63af96c1d..bd7f45b85 100644 | ||
| 116 | --- a/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 117 | +++ b/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl | ||
| 118 | @@ -964,7 +964,6 @@ _vpaes_preheat: | ||
| 119 | ## Constants ## | ||
| 120 | ## ## | ||
| 121 | ######################################################## | ||
| 122 | -.rodata | ||
| 123 | .type _vpaes_consts,\@object | ||
| 124 | .align 64 | ||
| 125 | _vpaes_consts: | ||
| 126 | @@ -1061,9 +1060,9 @@ _vpaes_consts: | ||
| 127 | .Lk_dsbo: # decryption sbox final output | ||
| 128 | .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D | ||
| 129 | .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C | ||
| 130 | +.asciz "Vector Permutation AES for x86_64/SSSE3, Mike Hamburg (Stanford University)" | ||
| 131 | .align 64 | ||
| 132 | .size _vpaes_consts,.-_vpaes_consts | ||
| 133 | -.previous | ||
| 134 | ___ | ||
| 135 | |||
| 136 | if ($win64) { | ||
| 137 | diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont.pl b/src/lib/libcrypto/bn/asm/x86_64-mont.pl | ||
| 138 | index cae7309d5..c35493e80 100755 | ||
| 139 | --- a/src/lib/libcrypto/bn/asm/x86_64-mont.pl | ||
| 140 | +++ b/src/lib/libcrypto/bn/asm/x86_64-mont.pl | ||
| 141 | @@ -1495,6 +1495,10 @@ $code.=<<___; | ||
| 142 | .size bn_sqr4x_mont,.-bn_sqr4x_mont | ||
| 143 | ___ | ||
| 144 | }}} | ||
| 145 | +$code.=<<___; | ||
| 146 | +.asciz "Montgomery Multiplication for x86_64, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 147 | +.align 16 | ||
| 148 | +___ | ||
| 149 | |||
| 150 | print $code; | ||
| 151 | close STDOUT; | ||
| 152 | diff --git a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 153 | index 5d30f210c..bb7ad4c4b 100755 | ||
| 154 | --- a/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 155 | +++ b/src/lib/libcrypto/bn/asm/x86_64-mont5.pl | ||
| 156 | @@ -1032,12 +1032,11 @@ $code.=<<___; | ||
| 157 | ___ | ||
| 158 | } | ||
| 159 | $code.=<<___; | ||
| 160 | -.rodata | ||
| 161 | .align 64 | ||
| 162 | .Linc: | ||
| 163 | .long 0,0, 1,1 | ||
| 164 | .long 2,2, 2,2 | ||
| 165 | -.previous | ||
| 166 | +.asciz "Montgomery Multiplication with scatter/gather for x86_64, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 167 | ___ | ||
| 168 | |||
| 169 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 170 | diff --git a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 171 | index 90c56d9e5..df6bf11a2 100644 | ||
| 172 | --- a/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 173 | +++ b/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl | ||
| 174 | @@ -599,7 +599,6 @@ sub S0222 { my $i=shift; $i=@SBOX[$i]; $i=($i<<1|$i>>7)&0xff; $i=$i<<16|$i<<8|$i | ||
| 175 | sub S3033 { my $i=shift; $i=@SBOX[$i]; $i=($i>>1|$i<<7)&0xff; $i=$i<<24|$i<<8|$i; sprintf("0x%08x",$i); } | ||
| 176 | |||
| 177 | $code.=<<___; | ||
| 178 | -.rodata | ||
| 179 | .align 64 | ||
| 180 | .LCamellia_SIGMA: | ||
| 181 | .long 0x3bcc908b, 0xa09e667f, 0x4caa73b2, 0xb67ae858 | ||
| 182 | @@ -625,7 +624,6 @@ $_ivp="40(%rsp)"; | ||
| 183 | $_rsp="48(%rsp)"; | ||
| 184 | |||
| 185 | $code.=<<___; | ||
| 186 | -.previous | ||
| 187 | .globl Camellia_cbc_encrypt | ||
| 188 | .type Camellia_cbc_encrypt,\@function,6 | ||
| 189 | .align 16 | ||
| 190 | @@ -859,6 +857,8 @@ Camellia_cbc_encrypt: | ||
| 191 | .Lcbc_abort: | ||
| 192 | ret | ||
| 193 | .size Camellia_cbc_encrypt,.-Camellia_cbc_encrypt | ||
| 194 | + | ||
| 195 | +.asciz "Camellia for x86_64 by <appro\@openssl.org>" | ||
| 196 | ___ | ||
| 197 | } | ||
| 198 | |||
| 199 | diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 200 | index 3ae8629cb..38d779edb 100644 | ||
| 201 | --- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 202 | +++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl | ||
| 203 | @@ -622,7 +622,6 @@ ___ | ||
| 204 | } | ||
| 205 | |||
| 206 | $code.=<<___; | ||
| 207 | -.rodata | ||
| 208 | .align 64 | ||
| 209 | .Lbswap_mask: | ||
| 210 | .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | ||
| 211 | @@ -669,8 +668,9 @@ $code.=<<___; | ||
| 212 | .value 0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E | ||
| 213 | .value 0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE | ||
| 214 | .value 0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE | ||
| 215 | + | ||
| 216 | +.asciz "GHASH for x86_64, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 217 | .align 64 | ||
| 218 | -.previous | ||
| 219 | ___ | ||
| 220 | |||
| 221 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 222 | diff --git a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 223 | index 0abbbab6b..cc8ef5337 100755 | ||
| 224 | --- a/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 225 | +++ b/src/lib/libcrypto/sha/asm/sha1-x86_64.pl | ||
| 226 | @@ -1071,7 +1071,6 @@ $code.=<<___; | ||
| 227 | ___ | ||
| 228 | } | ||
| 229 | $code.=<<___; | ||
| 230 | -.rodata | ||
| 231 | .align 64 | ||
| 232 | K_XX_XX: | ||
| 233 | .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 # K_00_19 | ||
| 234 | @@ -1079,10 +1078,10 @@ K_XX_XX: | ||
| 235 | .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc # K_40_59 | ||
| 236 | .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 # K_60_79 | ||
| 237 | .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f # pbswap mask | ||
| 238 | -.previous | ||
| 239 | ___ | ||
| 240 | }}} | ||
| 241 | $code.=<<___; | ||
| 242 | +.asciz "SHA1 block transform for x86_64, CRYPTOGAMS by <appro\@openssl.org>" | ||
| 243 | .align 64 | ||
| 244 | ___ | ||
| 245 | |||
| 246 | diff --git a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 247 | index 6698b1d40..bc4b2e748 100755 | ||
| 248 | --- a/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 249 | +++ b/src/lib/libcrypto/sha/asm/sha512-x86_64.pl | ||
| 250 | @@ -269,7 +269,6 @@ ___ | ||
| 251 | |||
| 252 | if ($SZ==4) { | ||
| 253 | $code.=<<___; | ||
| 254 | -.rodata | ||
| 255 | .align 64 | ||
| 256 | .type $TABLE,\@object | ||
| 257 | $TABLE: | ||
| 258 | @@ -289,11 +288,9 @@ $TABLE: | ||
| 259 | .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3 | ||
| 260 | .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208 | ||
| 261 | .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2 | ||
| 262 | -.previous | ||
| 263 | ___ | ||
| 264 | } else { | ||
| 265 | $code.=<<___; | ||
| 266 | -.rodata | ||
| 267 | .align 64 | ||
| 268 | .type $TABLE,\@object | ||
| 269 | $TABLE: | ||
| 270 | @@ -337,7 +334,6 @@ $TABLE: | ||
| 271 | .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c | ||
| 272 | .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a | ||
| 273 | .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 | ||
| 274 | -.previous | ||
| 275 | ___ | ||
| 276 | } | ||
| 277 | |||
| 278 | diff --git a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 279 | index 510a74b91..afadd5d2f 100644 | ||
| 280 | --- a/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 281 | +++ b/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl | ||
| 282 | @@ -204,7 +204,6 @@ $code.=<<___; | ||
| 283 | ret | ||
| 284 | .size $func,.-$func | ||
| 285 | |||
| 286 | -.rodata | ||
| 287 | .align 64 | ||
| 288 | .type $table,\@object | ||
| 289 | $table: | ||
| 290 | -- | ||
| 291 | 2.42.0 | ||
| 292 | |||
diff --git a/patches/asm/0005-Revert-aesni-endbr64.patch b/patches/asm/0005-Revert-aesni-endbr64.patch deleted file mode 100644 index f2094e6..0000000 --- a/patches/asm/0005-Revert-aesni-endbr64.patch +++ /dev/null | |||
| @@ -1,20 +0,0 @@ | |||
| 1 | commit ac992937b461479b41f7f65e79646ef0a715f95d | ||
| 2 | Author: Brent Cook <busterb@gmail.com> | ||
| 3 | Date: Thu Nov 9 12:29:33 2023 -0600 | ||
| 4 | |||
| 5 | Revert "aesni_ctr32_encrypt_blocks() is called indirectly from C code, so it" | ||
| 6 | |||
| 7 | This reverts commit 52f96c842e82486510ffc2513e71323b70242f28. | ||
| 8 | |||
| 9 | diff --git a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 10 | index 07d40a84a..c261a3795 100644 | ||
| 11 | --- a/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 12 | +++ b/src/lib/libcrypto/aes/asm/aesni-x86_64.pl | ||
| 13 | @@ -1025,7 +1025,6 @@ $code.=<<___; | ||
| 14 | .type aesni_ctr32_encrypt_blocks,\@function,5 | ||
| 15 | .align 16 | ||
| 16 | aesni_ctr32_encrypt_blocks: | ||
| 17 | - endbr64 | ||
| 18 | lea (%rsp),%rax | ||
| 19 | push %rbp | ||
| 20 | sub \$$frame_size,%rsp | ||
diff --git a/patches/asm/endbr64.patch b/patches/asm/endbr64.patch new file mode 100644 index 0000000..05cf0eb --- /dev/null +++ b/patches/asm/endbr64.patch | |||
| @@ -0,0 +1,1215 @@ | |||
| 1 | Replace uses of endbr64 with _CET_ENDBR from cet.h | ||
| 2 | |||
| 3 | cet.h is needed for other platforms to emit the relevant .gnu.properties | ||
| 4 | sections that are necessary for them to enable IBT. It also avoids issues | ||
| 5 | with older toolchains on macOS that explode on encountering endbr64. | ||
| 6 | |||
| 7 | based on a diff by kettenis | ||
| 8 | ok beck kettenis tb | ||
| 9 | |||
| 10 | Index: x86_64cpuid.pl | ||
| 11 | =================================================================== | ||
| 12 | RCS file: /cvs/src/lib/libcrypto/x86_64cpuid.pl,v | ||
| 13 | diff -u -p -r1.15 x86_64cpuid.pl | ||
| 14 | --- x86_64cpuid.pl 25 Apr 2023 04:42:25 -0000 1.15 | ||
| 15 | +++ x86_64cpuid.pl 3 Dec 2023 20:18:30 -0000 | ||
| 16 | @@ -18,7 +18,7 @@ print<<___; | ||
| 17 | .extern OPENSSL_cpuid_setup | ||
| 18 | .hidden OPENSSL_cpuid_setup | ||
| 19 | .section .init | ||
| 20 | - endbr64 | ||
| 21 | + _CET_ENDBR | ||
| 22 | call OPENSSL_cpuid_setup | ||
| 23 | |||
| 24 | .extern OPENSSL_ia32cap_P | ||
| 25 | @@ -30,7 +30,7 @@ print<<___; | ||
| 26 | .type OPENSSL_ia32_cpuid,\@abi-omnipotent | ||
| 27 | .align 16 | ||
| 28 | OPENSSL_ia32_cpuid: | ||
| 29 | - endbr64 | ||
| 30 | + _CET_ENDBR | ||
| 31 | mov %rbx,%r8 # save %rbx | ||
| 32 | |||
| 33 | xor %eax,%eax | ||
| 34 | Index: aes/asm/aes-x86_64.pl | ||
| 35 | =================================================================== | ||
| 36 | RCS file: /cvs/src/lib/libcrypto/aes/asm/aes-x86_64.pl,v | ||
| 37 | diff -u -p -r1.12 aes-x86_64.pl | ||
| 38 | --- aes/asm/aes-x86_64.pl 25 Apr 2023 04:42:25 -0000 1.12 | ||
| 39 | +++ aes/asm/aes-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 40 | @@ -318,7 +318,7 @@ $code.=<<___; | ||
| 41 | .type _x86_64_AES_encrypt,\@abi-omnipotent | ||
| 42 | .align 16 | ||
| 43 | _x86_64_AES_encrypt: | ||
| 44 | - endbr64 | ||
| 45 | + _CET_ENDBR | ||
| 46 | xor 0($key),$s0 # xor with key | ||
| 47 | xor 4($key),$s1 | ||
| 48 | xor 8($key),$s2 | ||
| 49 | @@ -549,7 +549,7 @@ $code.=<<___; | ||
| 50 | .type _x86_64_AES_encrypt_compact,\@abi-omnipotent | ||
| 51 | .align 16 | ||
| 52 | _x86_64_AES_encrypt_compact: | ||
| 53 | - endbr64 | ||
| 54 | + _CET_ENDBR | ||
| 55 | lea 128($sbox),$inp # size optimization | ||
| 56 | mov 0-128($inp),$acc1 # prefetch Te4 | ||
| 57 | mov 32-128($inp),$acc2 | ||
| 58 | @@ -595,7 +595,7 @@ $code.=<<___; | ||
| 59 | .hidden asm_AES_encrypt | ||
| 60 | asm_AES_encrypt: | ||
| 61 | AES_encrypt: | ||
| 62 | - endbr64 | ||
| 63 | + _CET_ENDBR | ||
| 64 | push %rbx | ||
| 65 | push %rbp | ||
| 66 | push %r12 | ||
| 67 | @@ -887,7 +887,7 @@ $code.=<<___; | ||
| 68 | .type _x86_64_AES_decrypt,\@abi-omnipotent | ||
| 69 | .align 16 | ||
| 70 | _x86_64_AES_decrypt: | ||
| 71 | - endbr64 | ||
| 72 | + _CET_ENDBR | ||
| 73 | xor 0($key),$s0 # xor with key | ||
| 74 | xor 4($key),$s1 | ||
| 75 | xor 8($key),$s2 | ||
| 76 | @@ -1142,7 +1142,7 @@ $code.=<<___; | ||
| 77 | .type _x86_64_AES_decrypt_compact,\@abi-omnipotent | ||
| 78 | .align 16 | ||
| 79 | _x86_64_AES_decrypt_compact: | ||
| 80 | - endbr64 | ||
| 81 | + _CET_ENDBR | ||
| 82 | lea 128($sbox),$inp # size optimization | ||
| 83 | mov 0-128($inp),$acc1 # prefetch Td4 | ||
| 84 | mov 32-128($inp),$acc2 | ||
| 85 | @@ -1197,7 +1197,7 @@ $code.=<<___; | ||
| 86 | .hidden asm_AES_decrypt | ||
| 87 | asm_AES_decrypt: | ||
| 88 | AES_decrypt: | ||
| 89 | - endbr64 | ||
| 90 | + _CET_ENDBR | ||
| 91 | push %rbx | ||
| 92 | push %rbp | ||
| 93 | push %r12 | ||
| 94 | @@ -1297,7 +1297,7 @@ $code.=<<___; | ||
| 95 | .type AES_set_encrypt_key,\@function,3 | ||
| 96 | .align 16 | ||
| 97 | AES_set_encrypt_key: | ||
| 98 | - endbr64 | ||
| 99 | + _CET_ENDBR | ||
| 100 | push %rbx | ||
| 101 | push %rbp | ||
| 102 | push %r12 # redundant, but allows to share | ||
| 103 | @@ -1323,7 +1323,7 @@ AES_set_encrypt_key: | ||
| 104 | .type _x86_64_AES_set_encrypt_key,\@abi-omnipotent | ||
| 105 | .align 16 | ||
| 106 | _x86_64_AES_set_encrypt_key: | ||
| 107 | - endbr64 | ||
| 108 | + _CET_ENDBR | ||
| 109 | mov %esi,%ecx # %ecx=bits | ||
| 110 | mov %rdi,%rsi # %rsi=userKey | ||
| 111 | mov %rdx,%rdi # %rdi=key | ||
| 112 | @@ -1569,7 +1569,7 @@ $code.=<<___; | ||
| 113 | .type AES_set_decrypt_key,\@function,3 | ||
| 114 | .align 16 | ||
| 115 | AES_set_decrypt_key: | ||
| 116 | - endbr64 | ||
| 117 | + _CET_ENDBR | ||
| 118 | push %rbx | ||
| 119 | push %rbp | ||
| 120 | push %r12 | ||
| 121 | @@ -1669,7 +1669,7 @@ $code.=<<___; | ||
| 122 | .hidden asm_AES_cbc_encrypt | ||
| 123 | asm_AES_cbc_encrypt: | ||
| 124 | AES_cbc_encrypt: | ||
| 125 | - endbr64 | ||
| 126 | + _CET_ENDBR | ||
| 127 | cmp \$0,%rdx # check length | ||
| 128 | je .Lcbc_epilogue | ||
| 129 | pushfq | ||
| 130 | @@ -2561,7 +2561,7 @@ $code.=<<___; | ||
| 131 | .type block_se_handler,\@abi-omnipotent | ||
| 132 | .align 16 | ||
| 133 | block_se_handler: | ||
| 134 | - endbr64 | ||
| 135 | + _CET_ENDBR | ||
| 136 | push %rsi | ||
| 137 | push %rdi | ||
| 138 | push %rbx | ||
| 139 | @@ -2620,7 +2620,7 @@ block_se_handler: | ||
| 140 | .type key_se_handler,\@abi-omnipotent | ||
| 141 | .align 16 | ||
| 142 | key_se_handler: | ||
| 143 | - endbr64 | ||
| 144 | + _CET_ENDBR | ||
| 145 | push %rsi | ||
| 146 | push %rdi | ||
| 147 | push %rbx | ||
| 148 | @@ -2678,7 +2678,7 @@ key_se_handler: | ||
| 149 | .type cbc_se_handler,\@abi-omnipotent | ||
| 150 | .align 16 | ||
| 151 | cbc_se_handler: | ||
| 152 | - endbr64 | ||
| 153 | + _CET_ENDBR | ||
| 154 | push %rsi | ||
| 155 | push %rdi | ||
| 156 | push %rbx | ||
| 157 | Index: aes/asm/aesni-sha1-x86_64.pl | ||
| 158 | =================================================================== | ||
| 159 | RCS file: /cvs/src/lib/libcrypto/aes/asm/aesni-sha1-x86_64.pl,v | ||
| 160 | diff -u -p -r1.8 aesni-sha1-x86_64.pl | ||
| 161 | --- aes/asm/aesni-sha1-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.8 | ||
| 162 | +++ aes/asm/aesni-sha1-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 163 | @@ -89,7 +89,7 @@ $code.=<<___; | ||
| 164 | .type aesni_cbc_sha1_enc,\@abi-omnipotent | ||
| 165 | .align 16 | ||
| 166 | aesni_cbc_sha1_enc: | ||
| 167 | - endbr64 | ||
| 168 | + _CET_ENDBR | ||
| 169 | # caller should check for SSSE3 and AES-NI bits | ||
| 170 | mov OPENSSL_ia32cap_P+0(%rip),%r10d | ||
| 171 | mov OPENSSL_ia32cap_P+4(%rip),%r11d | ||
| 172 | @@ -133,7 +133,7 @@ $code.=<<___; | ||
| 173 | .type aesni_cbc_sha1_enc_ssse3,\@function,6 | ||
| 174 | .align 16 | ||
| 175 | aesni_cbc_sha1_enc_ssse3: | ||
| 176 | - endbr64 | ||
| 177 | + _CET_ENDBR | ||
| 178 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument | ||
| 179 | #shr \$6,$len # debugging artefact | ||
| 180 | #jz .Lepilogue_ssse3 # debugging artefact | ||
| 181 | @@ -652,7 +652,7 @@ $code.=<<___; | ||
| 182 | .type aesni_cbc_sha1_enc_avx,\@function,6 | ||
| 183 | .align 16 | ||
| 184 | aesni_cbc_sha1_enc_avx: | ||
| 185 | - endbr64 | ||
| 186 | + _CET_ENDBR | ||
| 187 | mov `($win64?56:8)`(%rsp),$inp # load 7th argument | ||
| 188 | #shr \$6,$len # debugging artefact | ||
| 189 | #jz .Lepilogue_avx # debugging artefact | ||
| 190 | @@ -1103,7 +1103,7 @@ $code.=<<___; | ||
| 191 | .type ssse3_handler,\@abi-omnipotent | ||
| 192 | .align 16 | ||
| 193 | ssse3_handler: | ||
| 194 | - endbr64 | ||
| 195 | + _CET_ENDBR | ||
| 196 | push %rsi | ||
| 197 | push %rdi | ||
| 198 | push %rbx | ||
| 199 | Index: aes/asm/aesni-x86_64.pl | ||
| 200 | =================================================================== | ||
| 201 | RCS file: /cvs/src/lib/libcrypto/aes/asm/aesni-x86_64.pl,v | ||
| 202 | diff -u -p -r1.12 aesni-x86_64.pl | ||
| 203 | --- aes/asm/aesni-x86_64.pl 18 Sep 2023 22:38:16 -0000 1.12 | ||
| 204 | +++ aes/asm/aesni-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 205 | @@ -242,7 +242,7 @@ $code.=<<___; | ||
| 206 | .type ${PREFIX}_encrypt,\@abi-omnipotent | ||
| 207 | .align 16 | ||
| 208 | ${PREFIX}_encrypt: | ||
| 209 | - endbr64 | ||
| 210 | + _CET_ENDBR | ||
| 211 | movups ($inp),$inout0 # load input | ||
| 212 | mov 240($key),$rounds # key->rounds | ||
| 213 | ___ | ||
| 214 | @@ -256,7 +256,7 @@ $code.=<<___; | ||
| 215 | .type ${PREFIX}_decrypt,\@abi-omnipotent | ||
| 216 | .align 16 | ||
| 217 | ${PREFIX}_decrypt: | ||
| 218 | - endbr64 | ||
| 219 | + _CET_ENDBR | ||
| 220 | movups ($inp),$inout0 # load input | ||
| 221 | mov 240($key),$rounds # key->rounds | ||
| 222 | ___ | ||
| 223 | @@ -286,7 +286,7 @@ $code.=<<___; | ||
| 224 | .type _aesni_${dir}rypt3,\@abi-omnipotent | ||
| 225 | .align 16 | ||
| 226 | _aesni_${dir}rypt3: | ||
| 227 | - endbr64 | ||
| 228 | + _CET_ENDBR | ||
| 229 | $movkey ($key),$rndkey0 | ||
| 230 | shr \$1,$rounds | ||
| 231 | $movkey 16($key),$rndkey1 | ||
| 232 | @@ -331,7 +331,7 @@ $code.=<<___; | ||
| 233 | .type _aesni_${dir}rypt4,\@abi-omnipotent | ||
| 234 | .align 16 | ||
| 235 | _aesni_${dir}rypt4: | ||
| 236 | - endbr64 | ||
| 237 | + _CET_ENDBR | ||
| 238 | $movkey ($key),$rndkey0 | ||
| 239 | shr \$1,$rounds | ||
| 240 | $movkey 16($key),$rndkey1 | ||
| 241 | @@ -377,7 +377,7 @@ $code.=<<___; | ||
| 242 | .type _aesni_${dir}rypt6,\@abi-omnipotent | ||
| 243 | .align 16 | ||
| 244 | _aesni_${dir}rypt6: | ||
| 245 | - endbr64 | ||
| 246 | + _CET_ENDBR | ||
| 247 | $movkey ($key),$rndkey0 | ||
| 248 | shr \$1,$rounds | ||
| 249 | $movkey 16($key),$rndkey1 | ||
| 250 | @@ -442,7 +442,7 @@ $code.=<<___; | ||
| 251 | .type _aesni_${dir}rypt8,\@abi-omnipotent | ||
| 252 | .align 16 | ||
| 253 | _aesni_${dir}rypt8: | ||
| 254 | - endbr64 | ||
| 255 | + _CET_ENDBR | ||
| 256 | $movkey ($key),$rndkey0 | ||
| 257 | shr \$1,$rounds | ||
| 258 | $movkey 16($key),$rndkey1 | ||
| 259 | @@ -531,7 +531,7 @@ $code.=<<___; | ||
| 260 | .type aesni_ecb_encrypt,\@function,5 | ||
| 261 | .align 16 | ||
| 262 | aesni_ecb_encrypt: | ||
| 263 | - endbr64 | ||
| 264 | + _CET_ENDBR | ||
| 265 | and \$-16,$len | ||
| 266 | jz .Lecb_ret | ||
| 267 | |||
| 268 | @@ -837,7 +837,7 @@ $code.=<<___; | ||
| 269 | .type aesni_ccm64_encrypt_blocks,\@function,6 | ||
| 270 | .align 16 | ||
| 271 | aesni_ccm64_encrypt_blocks: | ||
| 272 | - endbr64 | ||
| 273 | + _CET_ENDBR | ||
| 274 | ___ | ||
| 275 | $code.=<<___ if ($win64); | ||
| 276 | lea -0x58(%rsp),%rsp | ||
| 277 | @@ -1025,7 +1025,7 @@ $code.=<<___; | ||
| 278 | .type aesni_ctr32_encrypt_blocks,\@function,5 | ||
| 279 | .align 16 | ||
| 280 | aesni_ctr32_encrypt_blocks: | ||
| 281 | - endbr64 | ||
| 282 | + _CET_ENDBR | ||
| 283 | lea (%rsp),%rax | ||
| 284 | push %rbp | ||
| 285 | sub \$$frame_size,%rsp | ||
| 286 | @@ -2487,7 +2487,7 @@ $code.=<<___; | ||
| 287 | .type ${PREFIX}_set_decrypt_key,\@abi-omnipotent | ||
| 288 | .align 16 | ||
| 289 | ${PREFIX}_set_decrypt_key: | ||
| 290 | - endbr64 | ||
| 291 | + _CET_ENDBR | ||
| 292 | sub \$8,%rsp | ||
| 293 | call __aesni_set_encrypt_key | ||
| 294 | shl \$4,$bits # rounds-1 after _aesni_set_encrypt_key | ||
| 295 | @@ -2538,7 +2538,7 @@ $code.=<<___; | ||
| 296 | .type ${PREFIX}_set_encrypt_key,\@abi-omnipotent | ||
| 297 | .align 16 | ||
| 298 | ${PREFIX}_set_encrypt_key: | ||
| 299 | - endbr64 | ||
| 300 | + _CET_ENDBR | ||
| 301 | __aesni_set_encrypt_key: | ||
| 302 | sub \$8,%rsp | ||
| 303 | mov \$-1,%rax | ||
| 304 | @@ -2760,7 +2760,7 @@ $code.=<<___ if ($PREFIX eq "aesni"); | ||
| 305 | .type ecb_se_handler,\@abi-omnipotent | ||
| 306 | .align 16 | ||
| 307 | ecb_se_handler: | ||
| 308 | - endbr64 | ||
| 309 | + _CET_ENDBR | ||
| 310 | push %rsi | ||
| 311 | push %rdi | ||
| 312 | push %rbx | ||
| 313 | @@ -2780,7 +2780,7 @@ ecb_se_handler: | ||
| 314 | .type ccm64_se_handler,\@abi-omnipotent | ||
| 315 | .align 16 | ||
| 316 | ccm64_se_handler: | ||
| 317 | - endbr64 | ||
| 318 | + _CET_ENDBR | ||
| 319 | push %rsi | ||
| 320 | push %rdi | ||
| 321 | push %rbx | ||
| 322 | @@ -2822,7 +2822,7 @@ ccm64_se_handler: | ||
| 323 | .type ctr32_se_handler,\@abi-omnipotent | ||
| 324 | .align 16 | ||
| 325 | ctr32_se_handler: | ||
| 326 | - endbr64 | ||
| 327 | + _CET_ENDBR | ||
| 328 | push %rsi | ||
| 329 | push %rdi | ||
| 330 | push %rbx | ||
| 331 | @@ -2858,7 +2858,7 @@ ctr32_se_handler: | ||
| 332 | .type xts_se_handler,\@abi-omnipotent | ||
| 333 | .align 16 | ||
| 334 | xts_se_handler: | ||
| 335 | - endbr64 | ||
| 336 | + _CET_ENDBR | ||
| 337 | push %rsi | ||
| 338 | push %rdi | ||
| 339 | push %rbx | ||
| 340 | @@ -2900,7 +2900,7 @@ $code.=<<___; | ||
| 341 | .type cbc_se_handler,\@abi-omnipotent | ||
| 342 | .align 16 | ||
| 343 | cbc_se_handler: | ||
| 344 | - endbr64 | ||
| 345 | + _CET_ENDBR | ||
| 346 | push %rsi | ||
| 347 | push %rdi | ||
| 348 | push %rbx | ||
| 349 | Index: aes/asm/bsaes-x86_64.pl | ||
| 350 | =================================================================== | ||
| 351 | RCS file: /cvs/src/lib/libcrypto/aes/asm/bsaes-x86_64.pl,v | ||
| 352 | diff -u -p -r1.6 bsaes-x86_64.pl | ||
| 353 | --- aes/asm/bsaes-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.6 | ||
| 354 | +++ aes/asm/bsaes-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 355 | @@ -813,7 +813,7 @@ $code.=<<___; | ||
| 356 | .type _bsaes_encrypt8,\@abi-omnipotent | ||
| 357 | .align 64 | ||
| 358 | _bsaes_encrypt8: | ||
| 359 | - endbr64 | ||
| 360 | + _CET_ENDBR | ||
| 361 | lea .LBS0(%rip), $const # constants table | ||
| 362 | |||
| 363 | movdqa ($key), @XMM[9] # round 0 key | ||
| 364 | @@ -878,7 +878,7 @@ $code.=<<___; | ||
| 365 | .type _bsaes_decrypt8,\@abi-omnipotent | ||
| 366 | .align 64 | ||
| 367 | _bsaes_decrypt8: | ||
| 368 | - endbr64 | ||
| 369 | + _CET_ENDBR | ||
| 370 | lea .LBS0(%rip), $const # constants table | ||
| 371 | |||
| 372 | movdqa ($key), @XMM[9] # round 0 key | ||
| 373 | @@ -970,7 +970,7 @@ $code.=<<___; | ||
| 374 | .type _bsaes_key_convert,\@abi-omnipotent | ||
| 375 | .align 16 | ||
| 376 | _bsaes_key_convert: | ||
| 377 | - endbr64 | ||
| 378 | + _CET_ENDBR | ||
| 379 | lea .Lmasks(%rip), $const | ||
| 380 | movdqu ($inp), %xmm7 # load round 0 key | ||
| 381 | lea 0x10($inp), $inp | ||
| 382 | @@ -1060,7 +1060,7 @@ $code.=<<___; | ||
| 383 | .type bsaes_enc_key_convert,\@function,2 | ||
| 384 | .align 16 | ||
| 385 | bsaes_enc_key_convert: | ||
| 386 | - endbr64 | ||
| 387 | + _CET_ENDBR | ||
| 388 | mov 240($inp),%r10d # pass rounds | ||
| 389 | mov $inp,%rcx # pass key | ||
| 390 | mov $out,%rax # pass key schedule | ||
| 391 | @@ -1075,7 +1075,7 @@ bsaes_enc_key_convert: | ||
| 392 | .align 16 | ||
| 393 | bsaes_encrypt_128: | ||
| 394 | .Lenc128_loop: | ||
| 395 | - endbr64 | ||
| 396 | + _CET_ENDBR | ||
| 397 | movdqu 0x00($inp), @XMM[0] # load input | ||
| 398 | movdqu 0x10($inp), @XMM[1] | ||
| 399 | movdqu 0x20($inp), @XMM[2] | ||
| 400 | @@ -1108,7 +1108,7 @@ bsaes_encrypt_128: | ||
| 401 | .type bsaes_dec_key_convert,\@function,2 | ||
| 402 | .align 16 | ||
| 403 | bsaes_dec_key_convert: | ||
| 404 | - endbr64 | ||
| 405 | + _CET_ENDBR | ||
| 406 | mov 240($inp),%r10d # pass rounds | ||
| 407 | mov $inp,%rcx # pass key | ||
| 408 | mov $out,%rax # pass key schedule | ||
| 409 | @@ -1123,7 +1123,7 @@ bsaes_dec_key_convert: | ||
| 410 | .type bsaes_decrypt_128,\@function,4 | ||
| 411 | .align 16 | ||
| 412 | bsaes_decrypt_128: | ||
| 413 | - endbr64 | ||
| 414 | + _CET_ENDBR | ||
| 415 | .Ldec128_loop: | ||
| 416 | movdqu 0x00($inp), @XMM[0] # load input | ||
| 417 | movdqu 0x10($inp), @XMM[1] | ||
| 418 | @@ -1169,7 +1169,7 @@ $code.=<<___; | ||
| 419 | .type bsaes_ecb_encrypt_blocks,\@abi-omnipotent | ||
| 420 | .align 16 | ||
| 421 | bsaes_ecb_encrypt_blocks: | ||
| 422 | - endbr64 | ||
| 423 | + _CET_ENDBR | ||
| 424 | mov %rsp, %rax | ||
| 425 | .Lecb_enc_prologue: | ||
| 426 | push %rbp | ||
| 427 | @@ -1371,7 +1371,7 @@ $code.=<<___; | ||
| 428 | .type bsaes_ecb_decrypt_blocks,\@abi-omnipotent | ||
| 429 | .align 16 | ||
| 430 | bsaes_ecb_decrypt_blocks: | ||
| 431 | - endbr64 | ||
| 432 | + _CET_ENDBR | ||
| 433 | mov %rsp, %rax | ||
| 434 | .Lecb_dec_prologue: | ||
| 435 | push %rbp | ||
| 436 | @@ -1577,7 +1577,7 @@ $code.=<<___; | ||
| 437 | .type bsaes_cbc_encrypt,\@abi-omnipotent | ||
| 438 | .align 16 | ||
| 439 | bsaes_cbc_encrypt: | ||
| 440 | - endbr64 | ||
| 441 | + _CET_ENDBR | ||
| 442 | ___ | ||
| 443 | $code.=<<___ if ($win64); | ||
| 444 | mov 48(%rsp),$arg6 # pull direction flag | ||
| 445 | @@ -1865,7 +1865,7 @@ $code.=<<___; | ||
| 446 | .type bsaes_ctr32_encrypt_blocks,\@abi-omnipotent | ||
| 447 | .align 16 | ||
| 448 | bsaes_ctr32_encrypt_blocks: | ||
| 449 | - endbr64 | ||
| 450 | + _CET_ENDBR | ||
| 451 | mov %rsp, %rax | ||
| 452 | .Lctr_enc_prologue: | ||
| 453 | push %rbp | ||
| 454 | @@ -2107,7 +2107,7 @@ $code.=<<___; | ||
| 455 | .type bsaes_xts_encrypt,\@abi-omnipotent | ||
| 456 | .align 16 | ||
| 457 | bsaes_xts_encrypt: | ||
| 458 | - endbr64 | ||
| 459 | + _CET_ENDBR | ||
| 460 | mov %rsp, %rax | ||
| 461 | .Lxts_enc_prologue: | ||
| 462 | push %rbp | ||
| 463 | @@ -2489,7 +2489,7 @@ $code.=<<___; | ||
| 464 | .type bsaes_xts_decrypt,\@abi-omnipotent | ||
| 465 | .align 16 | ||
| 466 | bsaes_xts_decrypt: | ||
| 467 | - endbr64 | ||
| 468 | + _CET_ENDBR | ||
| 469 | mov %rsp, %rax | ||
| 470 | .Lxts_dec_prologue: | ||
| 471 | push %rbp | ||
| 472 | @@ -2966,7 +2966,7 @@ $code.=<<___; | ||
| 473 | .type se_handler,\@abi-omnipotent | ||
| 474 | .align 16 | ||
| 475 | se_handler: | ||
| 476 | - endbr64 | ||
| 477 | + _CET_ENDBR | ||
| 478 | push %rsi | ||
| 479 | push %rdi | ||
| 480 | push %rbx | ||
| 481 | Index: aes/asm/vpaes-x86_64.pl | ||
| 482 | =================================================================== | ||
| 483 | RCS file: /cvs/src/lib/libcrypto/aes/asm/vpaes-x86_64.pl,v | ||
| 484 | diff -u -p -r1.5 vpaes-x86_64.pl | ||
| 485 | --- aes/asm/vpaes-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.5 | ||
| 486 | +++ aes/asm/vpaes-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 487 | @@ -82,7 +82,7 @@ $code.=<<___; | ||
| 488 | .type _vpaes_encrypt_core,\@abi-omnipotent | ||
| 489 | .align 16 | ||
| 490 | _vpaes_encrypt_core: | ||
| 491 | - endbr64 | ||
| 492 | + _CET_ENDBR | ||
| 493 | mov %rdx, %r9 | ||
| 494 | mov \$16, %r11 | ||
| 495 | mov 240(%rdx),%eax | ||
| 496 | @@ -173,7 +173,7 @@ _vpaes_encrypt_core: | ||
| 497 | .type _vpaes_decrypt_core,\@abi-omnipotent | ||
| 498 | .align 16 | ||
| 499 | _vpaes_decrypt_core: | ||
| 500 | - endbr64 | ||
| 501 | + _CET_ENDBR | ||
| 502 | mov %rdx, %r9 # load key | ||
| 503 | mov 240(%rdx),%eax | ||
| 504 | movdqa %xmm9, %xmm1 | ||
| 505 | @@ -281,7 +281,7 @@ _vpaes_decrypt_core: | ||
| 506 | .type _vpaes_schedule_core,\@abi-omnipotent | ||
| 507 | .align 16 | ||
| 508 | _vpaes_schedule_core: | ||
| 509 | - endbr64 | ||
| 510 | + _CET_ENDBR | ||
| 511 | # rdi = key | ||
| 512 | # rsi = size in bits | ||
| 513 | # rdx = buffer | ||
| 514 | @@ -467,7 +467,7 @@ _vpaes_schedule_core: | ||
| 515 | .type _vpaes_schedule_192_smear,\@abi-omnipotent | ||
| 516 | .align 16 | ||
| 517 | _vpaes_schedule_192_smear: | ||
| 518 | - endbr64 | ||
| 519 | + _CET_ENDBR | ||
| 520 | pshufd \$0x80, %xmm6, %xmm0 # d c 0 0 -> c 0 0 0 | ||
| 521 | pxor %xmm0, %xmm6 # -> c+d c 0 0 | ||
| 522 | pshufd \$0xFE, %xmm7, %xmm0 # b a _ _ -> b b b a | ||
| 523 | @@ -499,7 +499,7 @@ _vpaes_schedule_192_smear: | ||
| 524 | .type _vpaes_schedule_round,\@abi-omnipotent | ||
| 525 | .align 16 | ||
| 526 | _vpaes_schedule_round: | ||
| 527 | - endbr64 | ||
| 528 | + _CET_ENDBR | ||
| 529 | # extract rcon from xmm8 | ||
| 530 | pxor %xmm1, %xmm1 | ||
| 531 | palignr \$15, %xmm8, %xmm1 | ||
| 532 | @@ -567,7 +567,7 @@ _vpaes_schedule_low_round: | ||
| 533 | .type _vpaes_schedule_transform,\@abi-omnipotent | ||
| 534 | .align 16 | ||
| 535 | _vpaes_schedule_transform: | ||
| 536 | - endbr64 | ||
| 537 | + _CET_ENDBR | ||
| 538 | movdqa %xmm9, %xmm1 | ||
| 539 | pandn %xmm0, %xmm1 | ||
| 540 | psrld \$4, %xmm1 | ||
| 541 | @@ -606,7 +606,7 @@ _vpaes_schedule_transform: | ||
| 542 | .type _vpaes_schedule_mangle,\@abi-omnipotent | ||
| 543 | .align 16 | ||
| 544 | _vpaes_schedule_mangle: | ||
| 545 | - endbr64 | ||
| 546 | + _CET_ENDBR | ||
| 547 | movdqa %xmm0, %xmm4 # save xmm0 for later | ||
| 548 | movdqa .Lk_mc_forward(%rip),%xmm5 | ||
| 549 | test %rcx, %rcx | ||
| 550 | @@ -680,7 +680,7 @@ _vpaes_schedule_mangle: | ||
| 551 | .type ${PREFIX}_set_encrypt_key,\@function,3 | ||
| 552 | .align 16 | ||
| 553 | ${PREFIX}_set_encrypt_key: | ||
| 554 | - endbr64 | ||
| 555 | + _CET_ENDBR | ||
| 556 | ___ | ||
| 557 | $code.=<<___ if ($win64); | ||
| 558 | lea -0xb8(%rsp),%rsp | ||
| 559 | @@ -729,7 +729,7 @@ $code.=<<___; | ||
| 560 | .type ${PREFIX}_set_decrypt_key,\@function,3 | ||
| 561 | .align 16 | ||
| 562 | ${PREFIX}_set_decrypt_key: | ||
| 563 | - endbr64 | ||
| 564 | + _CET_ENDBR | ||
| 565 | ___ | ||
| 566 | $code.=<<___ if ($win64); | ||
| 567 | lea -0xb8(%rsp),%rsp | ||
| 568 | @@ -783,7 +783,7 @@ $code.=<<___; | ||
| 569 | .type ${PREFIX}_encrypt,\@function,3 | ||
| 570 | .align 16 | ||
| 571 | ${PREFIX}_encrypt: | ||
| 572 | - endbr64 | ||
| 573 | + _CET_ENDBR | ||
| 574 | ___ | ||
| 575 | $code.=<<___ if ($win64); | ||
| 576 | lea -0xb8(%rsp),%rsp | ||
| 577 | @@ -827,7 +827,7 @@ $code.=<<___; | ||
| 578 | .type ${PREFIX}_decrypt,\@function,3 | ||
| 579 | .align 16 | ||
| 580 | ${PREFIX}_decrypt: | ||
| 581 | - endbr64 | ||
| 582 | + _CET_ENDBR | ||
| 583 | ___ | ||
| 584 | $code.=<<___ if ($win64); | ||
| 585 | lea -0xb8(%rsp),%rsp | ||
| 586 | @@ -877,7 +877,7 @@ $code.=<<___; | ||
| 587 | .type ${PREFIX}_cbc_encrypt,\@function,6 | ||
| 588 | .align 16 | ||
| 589 | ${PREFIX}_cbc_encrypt: | ||
| 590 | - endbr64 | ||
| 591 | + _CET_ENDBR | ||
| 592 | xchg $key,$len | ||
| 593 | ___ | ||
| 594 | ($len,$key)=($key,$len); | ||
| 595 | @@ -961,7 +961,7 @@ $code.=<<___; | ||
| 596 | .type _vpaes_preheat,\@abi-omnipotent | ||
| 597 | .align 16 | ||
| 598 | _vpaes_preheat: | ||
| 599 | - endbr64 | ||
| 600 | + _CET_ENDBR | ||
| 601 | lea .Lk_s0F(%rip), %r10 | ||
| 602 | movdqa -0x20(%r10), %xmm10 # .Lk_inv | ||
| 603 | movdqa -0x10(%r10), %xmm11 # .Lk_inv+16 | ||
| 604 | @@ -1092,7 +1092,7 @@ $code.=<<___; | ||
| 605 | .type se_handler,\@abi-omnipotent | ||
| 606 | .align 16 | ||
| 607 | se_handler: | ||
| 608 | - endbr64 | ||
| 609 | + _CET_ENDBR | ||
| 610 | push %rsi | ||
| 611 | push %rdi | ||
| 612 | push %rbx | ||
| 613 | Index: bn/s2n_bignum_internal.h | ||
| 614 | =================================================================== | ||
| 615 | RCS file: /cvs/src/lib/libcrypto/bn/s2n_bignum_internal.h,v | ||
| 616 | diff -u -p -r1.2 s2n_bignum_internal.h | ||
| 617 | --- bn/s2n_bignum_internal.h 21 Jan 2023 15:53:54 -0000 1.2 | ||
| 618 | +++ bn/s2n_bignum_internal.h 3 Dec 2023 20:22:18 -0000 | ||
| 619 | @@ -18,6 +18,12 @@ | ||
| 620 | # define S2N_BN_SYMBOL(name) name | ||
| 621 | #endif | ||
| 622 | |||
| 623 | +#ifdef __CET__ | ||
| 624 | +# include <cet.h> | ||
| 625 | +#else | ||
| 626 | +# define _CET_ENDBR | ||
| 627 | +#endif | ||
| 628 | + | ||
| 629 | #define S2N_BN_SYM_VISIBILITY_DIRECTIVE(name) .globl S2N_BN_SYMBOL(name) | ||
| 630 | #ifdef S2N_BN_HIDE_SYMBOLS | ||
| 631 | # ifdef __APPLE__ | ||
| 632 | Index: bn/arch/amd64/bignum_add.S | ||
| 633 | =================================================================== | ||
| 634 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_add.S,v | ||
| 635 | diff -u -p -r1.4 bignum_add.S | ||
| 636 | --- bn/arch/amd64/bignum_add.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 637 | +++ bn/arch/amd64/bignum_add.S 3 Dec 2023 20:18:30 -0000 | ||
| 638 | @@ -49,7 +49,7 @@ | ||
| 639 | |||
| 640 | |||
| 641 | S2N_BN_SYMBOL(bignum_add): | ||
| 642 | - endbr64 | ||
| 643 | + _CET_ENDBR | ||
| 644 | |||
| 645 | #if WINDOWS_ABI | ||
| 646 | push rdi | ||
| 647 | Index: bn/arch/amd64/bignum_cmadd.S | ||
| 648 | =================================================================== | ||
| 649 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_cmadd.S,v | ||
| 650 | diff -u -p -r1.4 bignum_cmadd.S | ||
| 651 | --- bn/arch/amd64/bignum_cmadd.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 652 | +++ bn/arch/amd64/bignum_cmadd.S 3 Dec 2023 20:18:30 -0000 | ||
| 653 | @@ -54,7 +54,7 @@ | ||
| 654 | |||
| 655 | |||
| 656 | S2N_BN_SYMBOL(bignum_cmadd): | ||
| 657 | - endbr64 | ||
| 658 | + _CET_ENDBR | ||
| 659 | |||
| 660 | #if WINDOWS_ABI | ||
| 661 | push rdi | ||
| 662 | Index: bn/arch/amd64/bignum_cmul.S | ||
| 663 | =================================================================== | ||
| 664 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_cmul.S,v | ||
| 665 | diff -u -p -r1.4 bignum_cmul.S | ||
| 666 | --- bn/arch/amd64/bignum_cmul.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 667 | +++ bn/arch/amd64/bignum_cmul.S 3 Dec 2023 20:18:30 -0000 | ||
| 668 | @@ -51,7 +51,7 @@ | ||
| 669 | |||
| 670 | |||
| 671 | S2N_BN_SYMBOL(bignum_cmul): | ||
| 672 | - endbr64 | ||
| 673 | + _CET_ENDBR | ||
| 674 | |||
| 675 | #if WINDOWS_ABI | ||
| 676 | push rdi | ||
| 677 | Index: bn/arch/amd64/bignum_mul.S | ||
| 678 | =================================================================== | ||
| 679 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_mul.S,v | ||
| 680 | diff -u -p -r1.4 bignum_mul.S | ||
| 681 | --- bn/arch/amd64/bignum_mul.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 682 | +++ bn/arch/amd64/bignum_mul.S 3 Dec 2023 20:18:30 -0000 | ||
| 683 | @@ -59,7 +59,7 @@ | ||
| 684 | |||
| 685 | |||
| 686 | S2N_BN_SYMBOL(bignum_mul): | ||
| 687 | - endbr64 | ||
| 688 | + _CET_ENDBR | ||
| 689 | |||
| 690 | #if WINDOWS_ABI | ||
| 691 | push rdi | ||
| 692 | Index: bn/arch/amd64/bignum_mul_4_8_alt.S | ||
| 693 | =================================================================== | ||
| 694 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_mul_4_8_alt.S,v | ||
| 695 | diff -u -p -r1.4 bignum_mul_4_8_alt.S | ||
| 696 | --- bn/arch/amd64/bignum_mul_4_8_alt.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 697 | +++ bn/arch/amd64/bignum_mul_4_8_alt.S 3 Dec 2023 20:18:30 -0000 | ||
| 698 | @@ -72,7 +72,7 @@ | ||
| 699 | adc h, rdx | ||
| 700 | |||
| 701 | S2N_BN_SYMBOL(bignum_mul_4_8_alt): | ||
| 702 | - endbr64 | ||
| 703 | + _CET_ENDBR | ||
| 704 | |||
| 705 | #if WINDOWS_ABI | ||
| 706 | push rdi | ||
| 707 | Index: bn/arch/amd64/bignum_mul_8_16_alt.S | ||
| 708 | =================================================================== | ||
| 709 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_mul_8_16_alt.S,v | ||
| 710 | diff -u -p -r1.4 bignum_mul_8_16_alt.S | ||
| 711 | --- bn/arch/amd64/bignum_mul_8_16_alt.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 712 | +++ bn/arch/amd64/bignum_mul_8_16_alt.S 3 Dec 2023 20:18:30 -0000 | ||
| 713 | @@ -72,7 +72,7 @@ | ||
| 714 | adc h, rdx | ||
| 715 | |||
| 716 | S2N_BN_SYMBOL(bignum_mul_8_16_alt): | ||
| 717 | - endbr64 | ||
| 718 | + _CET_ENDBR | ||
| 719 | |||
| 720 | #if WINDOWS_ABI | ||
| 721 | push rdi | ||
| 722 | Index: bn/arch/amd64/bignum_sqr.S | ||
| 723 | =================================================================== | ||
| 724 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_sqr.S,v | ||
| 725 | diff -u -p -r1.4 bignum_sqr.S | ||
| 726 | --- bn/arch/amd64/bignum_sqr.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 727 | +++ bn/arch/amd64/bignum_sqr.S 3 Dec 2023 20:18:30 -0000 | ||
| 728 | @@ -62,7 +62,7 @@ | ||
| 729 | #define llshort ebp | ||
| 730 | |||
| 731 | S2N_BN_SYMBOL(bignum_sqr): | ||
| 732 | - endbr64 | ||
| 733 | + _CET_ENDBR | ||
| 734 | |||
| 735 | #if WINDOWS_ABI | ||
| 736 | push rdi | ||
| 737 | Index: bn/arch/amd64/bignum_sqr_4_8_alt.S | ||
| 738 | =================================================================== | ||
| 739 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_4_8_alt.S,v | ||
| 740 | diff -u -p -r1.4 bignum_sqr_4_8_alt.S | ||
| 741 | --- bn/arch/amd64/bignum_sqr_4_8_alt.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 742 | +++ bn/arch/amd64/bignum_sqr_4_8_alt.S 3 Dec 2023 20:18:30 -0000 | ||
| 743 | @@ -71,7 +71,7 @@ | ||
| 744 | adc c, 0 | ||
| 745 | |||
| 746 | S2N_BN_SYMBOL(bignum_sqr_4_8_alt): | ||
| 747 | - endbr64 | ||
| 748 | + _CET_ENDBR | ||
| 749 | |||
| 750 | #if WINDOWS_ABI | ||
| 751 | push rdi | ||
| 752 | Index: bn/arch/amd64/bignum_sqr_8_16_alt.S | ||
| 753 | =================================================================== | ||
| 754 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_sqr_8_16_alt.S,v | ||
| 755 | diff -u -p -r1.4 bignum_sqr_8_16_alt.S | ||
| 756 | --- bn/arch/amd64/bignum_sqr_8_16_alt.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 757 | +++ bn/arch/amd64/bignum_sqr_8_16_alt.S 3 Dec 2023 20:18:30 -0000 | ||
| 758 | @@ -103,7 +103,7 @@ | ||
| 759 | adc c, 0 | ||
| 760 | |||
| 761 | S2N_BN_SYMBOL(bignum_sqr_8_16_alt): | ||
| 762 | - endbr64 | ||
| 763 | + _CET_ENDBR | ||
| 764 | |||
| 765 | #if WINDOWS_ABI | ||
| 766 | push rdi | ||
| 767 | Index: bn/arch/amd64/bignum_sub.S | ||
| 768 | =================================================================== | ||
| 769 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/bignum_sub.S,v | ||
| 770 | diff -u -p -r1.4 bignum_sub.S | ||
| 771 | --- bn/arch/amd64/bignum_sub.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 772 | +++ bn/arch/amd64/bignum_sub.S 3 Dec 2023 20:18:30 -0000 | ||
| 773 | @@ -49,7 +49,7 @@ | ||
| 774 | |||
| 775 | |||
| 776 | S2N_BN_SYMBOL(bignum_sub): | ||
| 777 | - endbr64 | ||
| 778 | + _CET_ENDBR | ||
| 779 | |||
| 780 | #if WINDOWS_ABI | ||
| 781 | push rdi | ||
| 782 | Index: bn/arch/amd64/word_clz.S | ||
| 783 | =================================================================== | ||
| 784 | RCS file: /cvs/src/lib/libcrypto/bn/arch/amd64/word_clz.S,v | ||
| 785 | diff -u -p -r1.4 word_clz.S | ||
| 786 | --- bn/arch/amd64/word_clz.S 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 787 | +++ bn/arch/amd64/word_clz.S 3 Dec 2023 20:18:30 -0000 | ||
| 788 | @@ -30,7 +30,7 @@ | ||
| 789 | .text | ||
| 790 | |||
| 791 | S2N_BN_SYMBOL(word_clz): | ||
| 792 | - endbr64 | ||
| 793 | + _CET_ENDBR | ||
| 794 | |||
| 795 | #if WINDOWS_ABI | ||
| 796 | push rdi | ||
| 797 | Index: bn/asm/modexp512-x86_64.pl | ||
| 798 | =================================================================== | ||
| 799 | RCS file: /cvs/src/lib/libcrypto/bn/asm/modexp512-x86_64.pl,v | ||
| 800 | diff -u -p -r1.4 modexp512-x86_64.pl | ||
| 801 | --- bn/asm/modexp512-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.4 | ||
| 802 | +++ bn/asm/modexp512-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 803 | @@ -347,7 +347,7 @@ $code.=<<___; | ||
| 804 | .type MULADD_128x512,\@abi-omnipotent | ||
| 805 | .align 16 | ||
| 806 | MULADD_128x512: | ||
| 807 | - endbr64 | ||
| 808 | + _CET_ENDBR | ||
| 809 | ___ | ||
| 810 | &MULSTEP_512([map("%r$_",(8..15))], "(+8*0)(%rcx)", "%rsi", "%rbp", "%rbx"); | ||
| 811 | $code.=<<___; | ||
| 812 | @@ -415,7 +415,7 @@ $code.=<<___; | ||
| 813 | .type mont_reduce,\@abi-omnipotent | ||
| 814 | .align 16 | ||
| 815 | mont_reduce: | ||
| 816 | - endbr64 | ||
| 817 | + _CET_ENDBR | ||
| 818 | ___ | ||
| 819 | |||
| 820 | my $STACK_DEPTH = 8; | ||
| 821 | @@ -678,7 +678,7 @@ $code.=<<___; | ||
| 822 | .type mont_mul_a3b,\@abi-omnipotent | ||
| 823 | .align 16 | ||
| 824 | mont_mul_a3b: | ||
| 825 | - endbr64 | ||
| 826 | + _CET_ENDBR | ||
| 827 | # | ||
| 828 | # multiply tmp = src1 * src2 | ||
| 829 | # For multiply: dst = rcx, src1 = rdi, src2 = rsi | ||
| 830 | @@ -1080,7 +1080,7 @@ $code.=<<___; | ||
| 831 | .type sqr_reduce,\@abi-omnipotent | ||
| 832 | .align 16 | ||
| 833 | sqr_reduce: | ||
| 834 | - endbr64 | ||
| 835 | + _CET_ENDBR | ||
| 836 | mov (+$pResult_offset+8)(%rsp), %rcx | ||
| 837 | ___ | ||
| 838 | &SQR_512("%rsp+$tmp16_offset+8", "%rcx", [map("%r$_",(10..15,8..9))], "%rbx", "%rbp", "%rsi", "%rdi"); | ||
| 839 | @@ -1110,7 +1110,7 @@ $code.=<<___; | ||
| 840 | .globl mod_exp_512 | ||
| 841 | .type mod_exp_512,\@function,4 | ||
| 842 | mod_exp_512: | ||
| 843 | - endbr64 | ||
| 844 | + _CET_ENDBR | ||
| 845 | push %rbp | ||
| 846 | push %rbx | ||
| 847 | push %r12 | ||
| 848 | Index: bn/asm/x86_64-mont.pl | ||
| 849 | =================================================================== | ||
| 850 | RCS file: /cvs/src/lib/libcrypto/bn/asm/x86_64-mont.pl,v | ||
| 851 | diff -u -p -r1.5 x86_64-mont.pl | ||
| 852 | --- bn/asm/x86_64-mont.pl 25 Apr 2023 04:42:26 -0000 1.5 | ||
| 853 | +++ bn/asm/x86_64-mont.pl 3 Dec 2023 20:18:30 -0000 | ||
| 854 | @@ -63,7 +63,7 @@ $code=<<___; | ||
| 855 | .type bn_mul_mont,\@function,6 | ||
| 856 | .align 16 | ||
| 857 | bn_mul_mont: | ||
| 858 | - endbr64 | ||
| 859 | + _CET_ENDBR | ||
| 860 | test \$3,${num}d | ||
| 861 | jnz .Lmul_enter | ||
| 862 | cmp \$8,${num}d | ||
| 863 | @@ -279,7 +279,7 @@ $code.=<<___; | ||
| 864 | .align 16 | ||
| 865 | bn_mul4x_mont: | ||
| 866 | .Lmul4x_enter: | ||
| 867 | - endbr64 | ||
| 868 | + _CET_ENDBR | ||
| 869 | push %rbx | ||
| 870 | push %rbp | ||
| 871 | push %r12 | ||
| 872 | @@ -707,7 +707,7 @@ $code.=<<___; | ||
| 873 | .align 16 | ||
| 874 | bn_sqr4x_mont: | ||
| 875 | .Lsqr4x_enter: | ||
| 876 | - endbr64 | ||
| 877 | + _CET_ENDBR | ||
| 878 | push %rbx | ||
| 879 | push %rbp | ||
| 880 | push %r12 | ||
| 881 | Index: bn/asm/x86_64-mont5.pl | ||
| 882 | =================================================================== | ||
| 883 | RCS file: /cvs/src/lib/libcrypto/bn/asm/x86_64-mont5.pl,v | ||
| 884 | diff -u -p -r1.8 x86_64-mont5.pl | ||
| 885 | --- bn/asm/x86_64-mont5.pl 25 Apr 2023 04:42:26 -0000 1.8 | ||
| 886 | +++ bn/asm/x86_64-mont5.pl 3 Dec 2023 20:18:30 -0000 | ||
| 887 | @@ -57,7 +57,7 @@ $code=<<___; | ||
| 888 | .type bn_mul_mont_gather5,\@function,6 | ||
| 889 | .align 64 | ||
| 890 | bn_mul_mont_gather5: | ||
| 891 | - endbr64 | ||
| 892 | + _CET_ENDBR | ||
| 893 | test \$3,${num}d | ||
| 894 | jnz .Lmul_enter | ||
| 895 | cmp \$8,${num}d | ||
| 896 | @@ -388,7 +388,7 @@ $code.=<<___; | ||
| 897 | .type bn_mul4x_mont_gather5,\@function,6 | ||
| 898 | .align 16 | ||
| 899 | bn_mul4x_mont_gather5: | ||
| 900 | - endbr64 | ||
| 901 | + _CET_ENDBR | ||
| 902 | .Lmul4x_enter: | ||
| 903 | mov ${num}d,${num}d | ||
| 904 | movd `($win64?56:8)`(%rsp),%xmm5 # load 7th argument | ||
| 905 | @@ -927,7 +927,7 @@ $code.=<<___; | ||
| 906 | .type bn_scatter5,\@abi-omnipotent | ||
| 907 | .align 16 | ||
| 908 | bn_scatter5: | ||
| 909 | - endbr64 | ||
| 910 | + _CET_ENDBR | ||
| 911 | cmp \$0, $num | ||
| 912 | jz .Lscatter_epilogue | ||
| 913 | lea ($tbl,$idx,8),$tbl | ||
| 914 | @@ -946,7 +946,7 @@ bn_scatter5: | ||
| 915 | .type bn_gather5,\@abi-omnipotent | ||
| 916 | .align 16 | ||
| 917 | bn_gather5: | ||
| 918 | - endbr64 | ||
| 919 | + _CET_ENDBR | ||
| 920 | .LSEH_begin_bn_gather5: # Win64 thing, but harmless in other cases | ||
| 921 | # I can't trust assembler to use specific encoding:-( | ||
| 922 | .byte 0x4c,0x8d,0x14,0x24 # lea (%rsp),%r10 | ||
| 923 | @@ -1057,7 +1057,7 @@ $code.=<<___; | ||
| 924 | .type mul_handler,\@abi-omnipotent | ||
| 925 | .align 16 | ||
| 926 | mul_handler: | ||
| 927 | - endbr64 | ||
| 928 | + _CET_ENDBR | ||
| 929 | push %rsi | ||
| 930 | push %rdi | ||
| 931 | push %rbx | ||
| 932 | Index: camellia/asm/cmll-x86_64.pl | ||
| 933 | =================================================================== | ||
| 934 | RCS file: /cvs/src/lib/libcrypto/camellia/asm/cmll-x86_64.pl,v | ||
| 935 | diff -u -p -r1.7 cmll-x86_64.pl | ||
| 936 | --- camellia/asm/cmll-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.7 | ||
| 937 | +++ camellia/asm/cmll-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 938 | @@ -116,7 +116,7 @@ $code=<<___; | ||
| 939 | .type Camellia_EncryptBlock,\@abi-omnipotent | ||
| 940 | .align 16 | ||
| 941 | Camellia_EncryptBlock: | ||
| 942 | - endbr64 | ||
| 943 | + _CET_ENDBR | ||
| 944 | movl \$128,%eax | ||
| 945 | subl $arg0d,%eax | ||
| 946 | movl \$3,$arg0d | ||
| 947 | @@ -129,7 +129,7 @@ Camellia_EncryptBlock: | ||
| 948 | .align 16 | ||
| 949 | .Lenc_rounds: | ||
| 950 | Camellia_EncryptBlock_Rounds: | ||
| 951 | - endbr64 | ||
| 952 | + _CET_ENDBR | ||
| 953 | push %rbx | ||
| 954 | push %rbp | ||
| 955 | push %r13 | ||
| 956 | @@ -178,7 +178,7 @@ Camellia_EncryptBlock_Rounds: | ||
| 957 | .type _x86_64_Camellia_encrypt,\@abi-omnipotent | ||
| 958 | .align 16 | ||
| 959 | _x86_64_Camellia_encrypt: | ||
| 960 | - endbr64 | ||
| 961 | + _CET_ENDBR | ||
| 962 | xor 0($key),@S[1] | ||
| 963 | xor 4($key),@S[0] # ^=key[0-3] | ||
| 964 | xor 8($key),@S[3] | ||
| 965 | @@ -229,7 +229,7 @@ $code.=<<___; | ||
| 966 | .type Camellia_DecryptBlock,\@abi-omnipotent | ||
| 967 | .align 16 | ||
| 968 | Camellia_DecryptBlock: | ||
| 969 | - endbr64 | ||
| 970 | + _CET_ENDBR | ||
| 971 | movl \$128,%eax | ||
| 972 | subl $arg0d,%eax | ||
| 973 | movl \$3,$arg0d | ||
| 974 | @@ -242,7 +242,7 @@ Camellia_DecryptBlock: | ||
| 975 | .align 16 | ||
| 976 | .Ldec_rounds: | ||
| 977 | Camellia_DecryptBlock_Rounds: | ||
| 978 | - endbr64 | ||
| 979 | + _CET_ENDBR | ||
| 980 | push %rbx | ||
| 981 | push %rbp | ||
| 982 | push %r13 | ||
| 983 | @@ -291,7 +291,7 @@ Camellia_DecryptBlock_Rounds: | ||
| 984 | .type _x86_64_Camellia_decrypt,\@abi-omnipotent | ||
| 985 | .align 16 | ||
| 986 | _x86_64_Camellia_decrypt: | ||
| 987 | - endbr64 | ||
| 988 | + _CET_ENDBR | ||
| 989 | xor 0($key),@S[1] | ||
| 990 | xor 4($key),@S[0] # ^=key[0-3] | ||
| 991 | xor 8($key),@S[3] | ||
| 992 | @@ -406,7 +406,7 @@ $code.=<<___; | ||
| 993 | .type Camellia_Ekeygen,\@function,3 | ||
| 994 | .align 16 | ||
| 995 | Camellia_Ekeygen: | ||
| 996 | - endbr64 | ||
| 997 | + _CET_ENDBR | ||
| 998 | push %rbx | ||
| 999 | push %rbp | ||
| 1000 | push %r13 | ||
| 1001 | @@ -637,7 +637,7 @@ $code.=<<___; | ||
| 1002 | .type Camellia_cbc_encrypt,\@function,6 | ||
| 1003 | .align 16 | ||
| 1004 | Camellia_cbc_encrypt: | ||
| 1005 | - endbr64 | ||
| 1006 | + _CET_ENDBR | ||
| 1007 | cmp \$0,%rdx | ||
| 1008 | je .Lcbc_abort | ||
| 1009 | push %rbx | ||
| 1010 | Index: md5/asm/md5-x86_64.pl | ||
| 1011 | =================================================================== | ||
| 1012 | RCS file: /cvs/src/lib/libcrypto/md5/asm/md5-x86_64.pl,v | ||
| 1013 | diff -u -p -r1.3 md5-x86_64.pl | ||
| 1014 | --- md5/asm/md5-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.3 | ||
| 1015 | +++ md5/asm/md5-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1016 | @@ -128,7 +128,7 @@ $code .= <<EOF; | ||
| 1017 | .globl md5_block_asm_data_order | ||
| 1018 | .type md5_block_asm_data_order,\@function,3 | ||
| 1019 | md5_block_asm_data_order: | ||
| 1020 | - endbr64 | ||
| 1021 | + _CET_ENDBR | ||
| 1022 | push %rbp | ||
| 1023 | push %rbx | ||
| 1024 | push %r12 | ||
| 1025 | Index: modes/asm/ghash-x86_64.pl | ||
| 1026 | =================================================================== | ||
| 1027 | RCS file: /cvs/src/lib/libcrypto/modes/asm/ghash-x86_64.pl,v | ||
| 1028 | diff -u -p -r1.5 ghash-x86_64.pl | ||
| 1029 | --- modes/asm/ghash-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.5 | ||
| 1030 | +++ modes/asm/ghash-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1031 | @@ -412,7 +412,7 @@ $code.=<<___; | ||
| 1032 | .type gcm_init_clmul,\@abi-omnipotent | ||
| 1033 | .align 16 | ||
| 1034 | gcm_init_clmul: | ||
| 1035 | - endbr64 | ||
| 1036 | + _CET_ENDBR | ||
| 1037 | movdqu ($Xip),$Hkey | ||
| 1038 | pshufd \$0b01001110,$Hkey,$Hkey # dword swap | ||
| 1039 | |||
| 1040 | @@ -450,7 +450,7 @@ $code.=<<___; | ||
| 1041 | .type gcm_gmult_clmul,\@abi-omnipotent | ||
| 1042 | .align 16 | ||
| 1043 | gcm_gmult_clmul: | ||
| 1044 | - endbr64 | ||
| 1045 | + _CET_ENDBR | ||
| 1046 | movdqu ($Xip),$Xi | ||
| 1047 | movdqa .Lbswap_mask(%rip),$T3 | ||
| 1048 | movdqu ($Htbl),$Hkey | ||
| 1049 | @@ -478,7 +478,7 @@ $code.=<<___; | ||
| 1050 | .type gcm_ghash_clmul,\@abi-omnipotent | ||
| 1051 | .align 16 | ||
| 1052 | gcm_ghash_clmul: | ||
| 1053 | - endbr64 | ||
| 1054 | + _CET_ENDBR | ||
| 1055 | ___ | ||
| 1056 | $code.=<<___ if ($win64); | ||
| 1057 | .LSEH_begin_gcm_ghash_clmul: | ||
| 1058 | @@ -689,7 +689,7 @@ $code.=<<___; | ||
| 1059 | .type se_handler,\@abi-omnipotent | ||
| 1060 | .align 16 | ||
| 1061 | se_handler: | ||
| 1062 | - endbr64 | ||
| 1063 | + _CET_ENDBR | ||
| 1064 | push %rsi | ||
| 1065 | push %rdi | ||
| 1066 | push %rbx | ||
| 1067 | Index: perlasm/x86_64-xlate.pl | ||
| 1068 | =================================================================== | ||
| 1069 | RCS file: /cvs/src/lib/libcrypto/perlasm/x86_64-xlate.pl,v | ||
| 1070 | diff -u -p -r1.16 x86_64-xlate.pl | ||
| 1071 | --- perlasm/x86_64-xlate.pl 23 Feb 2023 08:49:02 -0000 1.16 | ||
| 1072 | +++ perlasm/x86_64-xlate.pl 3 Dec 2023 20:17:16 -0000 | ||
| 1073 | @@ -781,6 +781,22 @@ ___ | ||
| 1074 | OPTION DOTNAME | ||
| 1075 | ___ | ||
| 1076 | } | ||
| 1077 | + | ||
| 1078 | +if ($nasm) { | ||
| 1079 | + print <<___; | ||
| 1080 | +\%define _CET_ENDBR | ||
| 1081 | +___ | ||
| 1082 | +} else { | ||
| 1083 | + print <<___; | ||
| 1084 | +#if defined(__CET__) | ||
| 1085 | +#include <cet.h> | ||
| 1086 | +#else | ||
| 1087 | +#define _CET_ENDBR | ||
| 1088 | +#endif | ||
| 1089 | + | ||
| 1090 | +___ | ||
| 1091 | +} | ||
| 1092 | + | ||
| 1093 | print "#include \"x86_arch.h\"\n"; | ||
| 1094 | |||
| 1095 | while($line=<>) { | ||
| 1096 | Index: rc4/asm/rc4-md5-x86_64.pl | ||
| 1097 | =================================================================== | ||
| 1098 | RCS file: /cvs/src/lib/libcrypto/rc4/asm/rc4-md5-x86_64.pl,v | ||
| 1099 | diff -u -p -r1.4 rc4-md5-x86_64.pl | ||
| 1100 | --- rc4/asm/rc4-md5-x86_64.pl 28 Jul 2023 10:35:14 -0000 1.4 | ||
| 1101 | +++ rc4/asm/rc4-md5-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1102 | @@ -109,7 +109,7 @@ $code.=<<___; | ||
| 1103 | .globl $func | ||
| 1104 | .type $func,\@function,$nargs | ||
| 1105 | $func: | ||
| 1106 | - endbr64 | ||
| 1107 | + _CET_ENDBR | ||
| 1108 | cmp \$0,$len | ||
| 1109 | je .Labort | ||
| 1110 | push %rbx | ||
| 1111 | @@ -454,7 +454,7 @@ $code.=<<___; | ||
| 1112 | .type RC4_set_key,\@function,3 | ||
| 1113 | .align 16 | ||
| 1114 | RC4_set_key: | ||
| 1115 | - endbr64 | ||
| 1116 | + _CET_ENDBR | ||
| 1117 | lea 8($dat),$dat | ||
| 1118 | lea ($inp,$len),$inp | ||
| 1119 | neg $len | ||
| 1120 | Index: rc4/asm/rc4-x86_64.pl | ||
| 1121 | =================================================================== | ||
| 1122 | RCS file: /cvs/src/lib/libcrypto/rc4/asm/rc4-x86_64.pl,v | ||
| 1123 | diff -u -p -r1.16 rc4-x86_64.pl | ||
| 1124 | --- rc4/asm/rc4-x86_64.pl 28 Jul 2023 10:35:14 -0000 1.16 | ||
| 1125 | +++ rc4/asm/rc4-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1126 | @@ -128,7 +128,7 @@ $code=<<___; | ||
| 1127 | .type RC4,\@function,4 | ||
| 1128 | .align 16 | ||
| 1129 | RC4: | ||
| 1130 | - endbr64 | ||
| 1131 | + _CET_ENDBR | ||
| 1132 | or $len,$len | ||
| 1133 | jne .Lentry | ||
| 1134 | ret | ||
| 1135 | @@ -435,7 +435,7 @@ $code.=<<___; | ||
| 1136 | .type RC4_set_key,\@function,3 | ||
| 1137 | .align 16 | ||
| 1138 | RC4_set_key: | ||
| 1139 | - endbr64 | ||
| 1140 | + _CET_ENDBR | ||
| 1141 | lea 8($dat),$dat | ||
| 1142 | lea ($inp,$len),$inp | ||
| 1143 | neg $len | ||
| 1144 | Index: sha/asm/sha1-x86_64.pl | ||
| 1145 | =================================================================== | ||
| 1146 | RCS file: /cvs/src/lib/libcrypto/sha/asm/sha1-x86_64.pl,v | ||
| 1147 | diff -u -p -r1.7 sha1-x86_64.pl | ||
| 1148 | --- sha/asm/sha1-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.7 | ||
| 1149 | +++ sha/asm/sha1-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1150 | @@ -222,7 +222,7 @@ $code.=<<___; | ||
| 1151 | .type sha1_block_data_order,\@function,3 | ||
| 1152 | .align 16 | ||
| 1153 | sha1_block_data_order: | ||
| 1154 | - endbr64 | ||
| 1155 | + _CET_ENDBR | ||
| 1156 | mov OPENSSL_ia32cap_P+0(%rip),%r9d | ||
| 1157 | mov OPENSSL_ia32cap_P+4(%rip),%r8d | ||
| 1158 | test \$IA32CAP_MASK1_SSSE3,%r8d # check SSSE3 bit | ||
| 1159 | @@ -310,7 +310,7 @@ $code.=<<___; | ||
| 1160 | .align 16 | ||
| 1161 | sha1_block_data_order_ssse3: | ||
| 1162 | _ssse3_shortcut: | ||
| 1163 | - endbr64 | ||
| 1164 | + _CET_ENDBR | ||
| 1165 | push %rbx | ||
| 1166 | push %rbp | ||
| 1167 | push %r12 | ||
| 1168 | @@ -731,7 +731,7 @@ $code.=<<___; | ||
| 1169 | .align 16 | ||
| 1170 | sha1_block_data_order_avx: | ||
| 1171 | _avx_shortcut: | ||
| 1172 | - endbr64 | ||
| 1173 | + _CET_ENDBR | ||
| 1174 | push %rbx | ||
| 1175 | push %rbp | ||
| 1176 | push %r12 | ||
| 1177 | @@ -1102,7 +1102,7 @@ $code.=<<___; | ||
| 1178 | .type se_handler,\@abi-omnipotent | ||
| 1179 | .align 16 | ||
| 1180 | se_handler: | ||
| 1181 | - endbr64 | ||
| 1182 | + _CET_ENDBR | ||
| 1183 | push %rsi | ||
| 1184 | push %rdi | ||
| 1185 | push %rbx | ||
| 1186 | Index: sha/asm/sha512-x86_64.pl | ||
| 1187 | =================================================================== | ||
| 1188 | RCS file: /cvs/src/lib/libcrypto/sha/asm/sha512-x86_64.pl,v | ||
| 1189 | diff -u -p -r1.7 sha512-x86_64.pl | ||
| 1190 | --- sha/asm/sha512-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.7 | ||
| 1191 | +++ sha/asm/sha512-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1192 | @@ -175,7 +175,7 @@ $code=<<___; | ||
| 1193 | .type $func,\@function,4 | ||
| 1194 | .align 16 | ||
| 1195 | $func: | ||
| 1196 | - endbr64 | ||
| 1197 | + _CET_ENDBR | ||
| 1198 | push %rbx | ||
| 1199 | push %rbp | ||
| 1200 | push %r12 | ||
| 1201 | Index: whrlpool/asm/wp-x86_64.pl | ||
| 1202 | =================================================================== | ||
| 1203 | RCS file: /cvs/src/lib/libcrypto/whrlpool/asm/wp-x86_64.pl,v | ||
| 1204 | diff -u -p -r1.5 wp-x86_64.pl | ||
| 1205 | --- whrlpool/asm/wp-x86_64.pl 25 Apr 2023 04:42:26 -0000 1.5 | ||
| 1206 | +++ whrlpool/asm/wp-x86_64.pl 3 Dec 2023 20:18:30 -0000 | ||
| 1207 | @@ -57,7 +57,7 @@ $code=<<___; | ||
| 1208 | .type $func,\@function,3 | ||
| 1209 | .align 16 | ||
| 1210 | $func: | ||
| 1211 | - endbr64 | ||
| 1212 | + _CET_ENDBR | ||
| 1213 | push %rbx | ||
| 1214 | push %rbp | ||
| 1215 | push %r12 | ||
| @@ -197,18 +197,6 @@ fixup_masm() { | |||
| 197 | # generate assembly crypto algorithms | 197 | # generate assembly crypto algorithms |
| 198 | asm_src=$CWD/asm | 198 | asm_src=$CWD/asm |
| 199 | 199 | ||
| 200 | setup_asm_generator() { | ||
| 201 | rm -fr $asm_src | ||
| 202 | cp -a $libcrypto_src $asm_src | ||
| 203 | } | ||
| 204 | |||
| 205 | setup_asm_generator_patched() { | ||
| 206 | setup_asm_generator | ||
| 207 | for i in `ls -1 patches/asm/*.patch | sort -n`; do | ||
| 208 | patch -d $asm_src -p 4 < $i 1> /dev/null 2>/dev/null ; | ||
| 209 | done | ||
| 210 | } | ||
| 211 | |||
| 212 | gen_asm_stdout() { | 200 | gen_asm_stdout() { |
| 213 | CC=true perl $asm_src/$2 $1 > crypto/$3.tmp | 201 | CC=true perl $asm_src/$2 $1 > crypto/$3.tmp |
| 214 | [ $1 = "elf" ] && cat <<-EOF >> crypto/$3.tmp | 202 | [ $1 = "elf" ] && cat <<-EOF >> crypto/$3.tmp |
| @@ -249,6 +237,14 @@ gen_asm() { | |||
| 249 | fi | 237 | fi |
| 250 | } | 238 | } |
| 251 | 239 | ||
| 240 | setup_asm_generator() { | ||
| 241 | rm -fr $asm_src | ||
| 242 | cp -a $libcrypto_src $asm_src | ||
| 243 | for i in `ls -1 patches/asm/*.patch | sort -n`; do | ||
| 244 | patch -d $asm_src -p0 < $i 1> /dev/null 2>/dev/null ; | ||
| 245 | done | ||
| 246 | } | ||
| 247 | |||
| 252 | setup_asm_generator | 248 | setup_asm_generator |
| 253 | 249 | ||
| 254 | echo generating mips ASM source for elf | 250 | echo generating mips ASM source for elf |
| @@ -281,13 +277,6 @@ $CP $libcrypto_src/arch/arm/arm_arch.h crypto | |||
| 281 | for abi in elf macosx masm mingw64; do | 277 | for abi in elf macosx masm mingw64; do |
| 282 | echo generating x86_64 ASM source for $abi | 278 | echo generating x86_64 ASM source for $abi |
| 283 | 279 | ||
| 284 | # use patched generators for non-elf targets | ||
| 285 | if [ $abi = "elf" ]; then | ||
| 286 | setup_asm_generator | ||
| 287 | else | ||
| 288 | setup_asm_generator_patched | ||
| 289 | fi | ||
| 290 | |||
| 291 | gen_asm_stdout $abi aes/asm/aes-x86_64.pl aes/aes-$abi-x86_64.S | 280 | gen_asm_stdout $abi aes/asm/aes-x86_64.pl aes/aes-$abi-x86_64.S |
| 292 | gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl aes/vpaes-$abi-x86_64.S | 281 | gen_asm_stdout $abi aes/asm/vpaes-x86_64.pl aes/vpaes-$abi-x86_64.S |
| 293 | gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl aes/bsaes-$abi-x86_64.S | 282 | gen_asm_stdout $abi aes/asm/bsaes-x86_64.pl aes/bsaes-$abi-x86_64.S |
