summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/modes/asm
diff options
context:
space:
mode:
authortb <>2024-02-24 15:30:14 +0000
committertb <>2024-02-24 15:30:14 +0000
commitc10c5b524e3121f42c9239d737dd7f975638f378 (patch)
tree162dfb371639bf1514d472f64e2a4d1279851907 /src/lib/libcrypto/modes/asm
parent1f31ec76cd83a26559f7a7ee2623bce8b503473d (diff)
downloadopenbsd-c10c5b524e3121f42c9239d737dd7f975638f378.tar.gz
openbsd-c10c5b524e3121f42c9239d737dd7f975638f378.tar.bz2
openbsd-c10c5b524e3121f42c9239d737dd7f975638f378.zip
Replace uses of endbr64 with _CET_ENDBR from cet.h
cet.h is needed for other platforms to emit the relevant .gnu.properties sections that are necessary for them to enable IBT. It also avoids issues with older toolchains on macOS that explode on encountering endbr64. based on a diff by kettenis ok beck kettenis
Diffstat (limited to 'src/lib/libcrypto/modes/asm')
-rw-r--r--src/lib/libcrypto/modes/asm/ghash-x86_64.pl8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl
index 4fded507c8..f3caac15d6 100644
--- a/src/lib/libcrypto/modes/asm/ghash-x86_64.pl
+++ b/src/lib/libcrypto/modes/asm/ghash-x86_64.pl
@@ -412,7 +412,7 @@ $code.=<<___;
412.type gcm_init_clmul,\@abi-omnipotent 412.type gcm_init_clmul,\@abi-omnipotent
413.align 16 413.align 16
414gcm_init_clmul: 414gcm_init_clmul:
415 endbr64 415 _CET_ENDBR
416 movdqu ($Xip),$Hkey 416 movdqu ($Xip),$Hkey
417 pshufd \$0b01001110,$Hkey,$Hkey # dword swap 417 pshufd \$0b01001110,$Hkey,$Hkey # dword swap
418 418
@@ -450,7 +450,7 @@ $code.=<<___;
450.type gcm_gmult_clmul,\@abi-omnipotent 450.type gcm_gmult_clmul,\@abi-omnipotent
451.align 16 451.align 16
452gcm_gmult_clmul: 452gcm_gmult_clmul:
453 endbr64 453 _CET_ENDBR
454 movdqu ($Xip),$Xi 454 movdqu ($Xip),$Xi
455 movdqa .Lbswap_mask(%rip),$T3 455 movdqa .Lbswap_mask(%rip),$T3
456 movdqu ($Htbl),$Hkey 456 movdqu ($Htbl),$Hkey
@@ -478,7 +478,7 @@ $code.=<<___;
478.type gcm_ghash_clmul,\@abi-omnipotent 478.type gcm_ghash_clmul,\@abi-omnipotent
479.align 16 479.align 16
480gcm_ghash_clmul: 480gcm_ghash_clmul:
481 endbr64 481 _CET_ENDBR
482___ 482___
483$code.=<<___ if ($win64); 483$code.=<<___ if ($win64);
484.LSEH_begin_gcm_ghash_clmul: 484.LSEH_begin_gcm_ghash_clmul:
@@ -689,7 +689,7 @@ $code.=<<___;
689.type se_handler,\@abi-omnipotent 689.type se_handler,\@abi-omnipotent
690.align 16 690.align 16
691se_handler: 691se_handler:
692 endbr64 692 _CET_ENDBR
693 push %rsi 693 push %rsi
694 push %rdi 694 push %rdi
695 push %rbx 695 push %rbx