Enable Intel CET in leancrypto
Related: RHEL-70818 Signed-off-by: Daiki Ueno <dueno@redhat.com>
This commit is contained in:
parent
39822d7024
commit
050ed4a962
@ -164,6 +164,7 @@ Source201: nettle-3.8-zeroize-stack.patch
|
||||
|
||||
%if %{with leancrypto}
|
||||
Source300: leancrypto-1.2.0.tar.gz
|
||||
Source301: leancrypto-1.2.0-intel-cet.patch
|
||||
%endif
|
||||
|
||||
# Wildcard bundling exception https://fedorahosted.org/fpc/ticket/174
|
||||
@ -311,6 +312,7 @@ popd
|
||||
mkdir -p bundled_leancrypto
|
||||
pushd bundled_leancrypto
|
||||
tar --strip-components=1 -xf %{SOURCE300}
|
||||
patch -p1 < %{SOURCE301}
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
781
leancrypto-1.2.0-intel-cet.patch
Normal file
781
leancrypto-1.2.0-intel-cet.patch
Normal file
@ -0,0 +1,781 @@
|
||||
From ef682559d1acb92b897412647d4468486aa4f0fc Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Mueller <smueller@chronox.de>
|
||||
Date: Wed, 12 Feb 2025 09:21:24 +0100
|
||||
Subject: [PATCH 1/2] Intel x86 asm: Add endbr[64|32] to all symbols
|
||||
|
||||
Suggested-by: Daiki Ueno <dueno@redhat.com>
|
||||
Signed-off-by: Stephan Mueller <smueller@chronox.de>
|
||||
---
|
||||
CHANGES.md | 2 ++
|
||||
internal/api/assembler_support.h | 11 ++++++++++-
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/internal/api/assembler_support.h b/internal/api/assembler_support.h
|
||||
index f90fa4ba..54f33f6f 100644
|
||||
--- a/internal/api/assembler_support.h
|
||||
+++ b/internal/api/assembler_support.h
|
||||
@@ -20,6 +20,14 @@
|
||||
#ifndef ASSEMBLER_SUPPORT_H
|
||||
#define ASSEMBLER_SUPPORT_H
|
||||
|
||||
+#ifdef __x86_64__
|
||||
+#define LC_ENDBR "endbr64"
|
||||
+#elif defined(__i386__)
|
||||
+#define LC_ENDBR "endbr32"
|
||||
+#else
|
||||
+#define LC_ENDBR
|
||||
+#endif
|
||||
+
|
||||
#ifdef LINUX_KERNEL
|
||||
|
||||
#include <linux/linkage.h>
|
||||
@@ -121,7 +129,8 @@
|
||||
# define SYM_FUNC_START(name) \
|
||||
.hidden SYM_FUNC(name) ; \
|
||||
.global SYM_FUNC(name) ; \
|
||||
- SYM_FUNC(name):
|
||||
+ SYM_FUNC(name): \
|
||||
+ LC_ENDBR
|
||||
|
||||
# define SYM_FUNC_ENTER(name)
|
||||
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
||||
From 07cbd3c7f28901f26604b3e8803b99d8ec755fdb Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Mueller <smueller@chronox.de>
|
||||
Date: Wed, 12 Feb 2025 09:50:31 +0100
|
||||
Subject: [PATCH 2/2] Fix gcc build error
|
||||
|
||||
Clang can handle instructions enclosed with quotation marks, GCC
|
||||
cannot...
|
||||
|
||||
Signed-off-by: Stephan Mueller <smueller@chronox.de>
|
||||
---
|
||||
internal/api/assembler_support.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/internal/api/assembler_support.h b/internal/api/assembler_support.h
|
||||
index 54f33f6f..de333805 100644
|
||||
--- a/internal/api/assembler_support.h
|
||||
+++ b/internal/api/assembler_support.h
|
||||
@@ -21,9 +21,9 @@
|
||||
#define ASSEMBLER_SUPPORT_H
|
||||
|
||||
#ifdef __x86_64__
|
||||
-#define LC_ENDBR "endbr64"
|
||||
+#define LC_ENDBR endbr64
|
||||
#elif defined(__i386__)
|
||||
-#define LC_ENDBR "endbr32"
|
||||
+#define LC_ENDBR endbr32
|
||||
#else
|
||||
#define LC_ENDBR
|
||||
#endif
|
||||
--
|
||||
2.48.1
|
||||
|
||||
From ef49175f0c2f89df027ca9a40075e290ba77d850 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Mueller <smueller@chronox.de>
|
||||
Date: Thu, 6 Feb 2025 08:39:07 +0100
|
||||
Subject: [PATCH] prevent compiler warnings
|
||||
|
||||
Signed-off-by: Stephan Mueller <smueller@chronox.de>
|
||||
---
|
||||
hash/src/asm/ARMv8_2x/keccakx2_armce.S | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/hash/src/asm/ARMv8_2x/keccakx2_armce.S b/hash/src/asm/ARMv8_2x/keccakx2_armce.S
|
||||
index 7d4772e5..0cf8fddb 100644
|
||||
--- a/hash/src/asm/ARMv8_2x/keccakx2_armce.S
|
||||
+++ b/hash/src/asm/ARMv8_2x/keccakx2_armce.S
|
||||
@@ -45,8 +45,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
-#pragma GCC diagnostic push
|
||||
-#pragma GCC diagnostic ignored "-Wundef"
|
||||
+#ifndef __APPLE__
|
||||
+#define __APPLE__ 0
|
||||
+#endif
|
||||
+#ifndef __ARM_FEATURE_SHA3
|
||||
+#define __ARM_FEATURE_SHA3 0
|
||||
+#endif
|
||||
#if (__APPLE__ && __ARM_FEATURE_CRYPTO) || (__ARM_FEATURE_SHA3)
|
||||
|
||||
#include "assembler_support.h"
|
||||
@@ -191,4 +195,3 @@ loop:
|
||||
SYM_FUNC_END(keccak_f1600x2_armce)
|
||||
|
||||
#endif
|
||||
-#pragma GCC diagnostic pop
|
||||
--
|
||||
2.48.1
|
||||
|
||||
From e210d069cfd71938494668acef25f043ff9ecd4e Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <dueno@redhat.com>
|
||||
Date: Thu, 13 Feb 2025 08:43:35 +0900
|
||||
Subject: [PATCH] x86: embed .note.gnu.property for Intel CET in assembly files
|
||||
|
||||
Instead of generating the note section with a linker option, this
|
||||
embeds it in each .S file through a preprocessor macro. The main
|
||||
motivation behind this is to simplify the build process when a shared
|
||||
library is statically linking to leancrypto. As a bonus, this
|
||||
mechanism could be used to support PACBTI on AArch64 in a future
|
||||
extension.
|
||||
|
||||
Signed-off-by: Daiki Ueno <dueno@redhat.com>
|
||||
---
|
||||
curve25519/src/armv7/x25519-cortex-m4-gcc.S | 2 ++
|
||||
curve25519/src/armv8/X25519-AArch64.S | 2 ++
|
||||
curve25519/src/avx/curve25519_avx_asm.S | 2 ++
|
||||
hash/src/asm/ARMv8A/KeccakP-1600-armv8a-ce.S | 2 ++
|
||||
.../src/asm/ARMv8A/KeccakP-1600-armv8a-neon.S | 4 +++
|
||||
hash/src/asm/ARMv8A/sha2-256-ARMv8.S | 2 ++
|
||||
hash/src/asm/ARMv8A/sha2-512-ARMv8.S | 2 ++
|
||||
hash/src/asm/ARMv8_2x/keccakx2_armce.S | 2 ++
|
||||
hash/src/asm/AVX2/KeccakP-1600-AVX2.S | 2 ++
|
||||
hash/src/asm/AVX2/sha2-256-AVX2.S | 2 ++
|
||||
hash/src/asm/AVX2/sha2-512-AVX2.S | 2 ++
|
||||
hash/src/asm/AVX512/KeccakP-1600-AVX512.S | 2 ++
|
||||
hash/src/asm/riscv32/keccakf1600_asm.S | 2 ++
|
||||
hash/src/asm/riscv64/fips202_rv64im.S | 2 ++
|
||||
hash/src/asm/riscv64/fips202_rv64imb.S | 2 ++
|
||||
hash/src/asm/riscv64/sha2-256-riscv.S | 2 ++
|
||||
hash/src/asm/riscv64/sha2-512-riscv.S | 2 ++
|
||||
internal/api/assembler_support.h | 33 +++++++++++++++++++
|
||||
meson.build | 6 ----
|
||||
ml-dsa/src/armv7/dilithium_ntt_armv7.S | 2 ++
|
||||
.../armv7/dilithium_pointwise_smull_armv7.S | 2 ++
|
||||
ml-dsa/src/armv7/dilithium_poly_armv7.S | 2 ++
|
||||
ml-dsa/src/armv8/dilithium_intt_armv8.S | 2 ++
|
||||
ml-dsa/src/armv8/dilithium_ntt_armv8.S | 2 ++
|
||||
ml-dsa/src/armv8/dilithium_poly_armv8.S | 2 ++
|
||||
ml-dsa/src/avx2/dilithium_invntt_avx2.S | 2 ++
|
||||
ml-dsa/src/avx2/dilithium_ntt_avx2.S | 2 ++
|
||||
ml-dsa/src/avx2/dilithium_pointwise_avx2.S | 2 ++
|
||||
ml-dsa/src/avx2/dilithium_shuffle_avx2.S | 2 ++
|
||||
.../riscv64/ntt_8l_dualissue_plant_rv64im.S | 2 ++
|
||||
ml-dsa/src/riscv64/ntt_rvv.S | 2 ++
|
||||
ml-kem/src/armv7/kyber_fastinvntt_armv7.S | 2 ++
|
||||
ml-kem/src/armv7/kyber_fastntt_armv7.S | 2 ++
|
||||
ml-kem/src/armv7/kyber_poly_armv7.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_add_armv8.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_basemul_armv8.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_cbd_armv8.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_inv_ntt_armv8.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_ntt_armv8_asm.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_poly_armv8_asm.S | 2 ++
|
||||
ml-kem/src/armv8/kyber_reduce_armv8.S | 2 ++
|
||||
ml-kem/src/avx2/kyber_basemul_avx2.S | 2 ++
|
||||
ml-kem/src/avx2/kyber_fq_avx2.S | 2 ++
|
||||
ml-kem/src/avx2/kyber_invntt_avx2.S | 2 ++
|
||||
ml-kem/src/avx2/kyber_ntt_avx2.S | 2 ++
|
||||
ml-kem/src/avx2/kyber_shuffle_avx2.S | 2 ++
|
||||
.../src/riscv64/ntt_dualissue_plant_rv64im.S | 2 ++
|
||||
ml-kem/src/riscv64/ntt_rvv_vlen128.S | 2 ++
|
||||
ml-kem/src/riscv64/ntt_rvv_vlen256.S | 2 ++
|
||||
ml-kem/src/riscv64/riscv_rvv_selector_test.S | 2 ++
|
||||
sym/src/asm/AESNI_x86_64/aes_aesni_x86_64.S | 2 ++
|
||||
sym/src/asm/ARMv8/aes_armv8_ce.S | 2 ++
|
||||
sym/src/asm/riscv64/riscv64_aes_asm.S | 2 ++
|
||||
sym/src/asm/riscv64/riscv64_aes_zkn_asm.S | 2 ++
|
||||
54 files changed, 139 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/curve25519/src/armv7/x25519-cortex-m4-gcc.S b/curve25519/src/armv7/x25519-cortex-m4-gcc.S
|
||||
index 9151c401..c19cff26 100644
|
||||
--- a/curve25519/src/armv7/x25519-cortex-m4-gcc.S
|
||||
+++ b/curve25519/src/armv7/x25519-cortex-m4-gcc.S
|
||||
@@ -1040,3 +1040,5 @@ SYM_FUNC_ENTER(crypto_scalarmult_curve25519_armv7)
|
||||
// in total for whole function 548 873 cycles
|
||||
|
||||
SYM_FUNC_END(crypto_scalarmult_curve25519_armv7)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/curve25519/src/armv8/X25519-AArch64.S b/curve25519/src/armv8/X25519-AArch64.S
|
||||
index a04cce4d..2d8e9985 100644
|
||||
--- a/curve25519/src/armv8/X25519-AArch64.S
|
||||
+++ b/curve25519/src/armv8/X25519-AArch64.S
|
||||
@@ -1641,3 +1641,5 @@ invtable:
|
||||
.hword 50| (2<<9)
|
||||
.hword 5| (1<<9)
|
||||
.hword 0| (0<<9)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/curve25519/src/avx/curve25519_avx_asm.S b/curve25519/src/avx/curve25519_avx_asm.S
|
||||
index e6c79b64..be16ca3c 100644
|
||||
--- a/curve25519/src/avx/curve25519_avx_asm.S
|
||||
+++ b/curve25519/src/avx/curve25519_avx_asm.S
|
||||
@@ -37,3 +37,5 @@
|
||||
#if defined(__linux__) && defined(__ELF__)
|
||||
.section .note.GNU-stack,"",%progbits
|
||||
#endif
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-ce.S b/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-ce.S
|
||||
index 21299298..98e74d85 100644
|
||||
--- a/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-ce.S
|
||||
+++ b/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-ce.S
|
||||
@@ -1039,3 +1039,5 @@ SYM_FUNC_ENTER(lc_keccak_squeeze_arm_ce)
|
||||
SYM_FUNC_END(lc_keccak_squeeze_arm_ce)
|
||||
.byte 75,101,99,99,97,107,45,49,54,48,48,32,97,98,115,111,114,98,32,97,110,100,32,115,113,117,101,101,122,101,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 2
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-neon.S b/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-neon.S
|
||||
index fa9aff40..5cb2de6d 100644
|
||||
--- a/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-neon.S
|
||||
+++ b/hash/src/asm/ARMv8A/KeccakP-1600-armv8a-neon.S
|
||||
@@ -31,6 +31,8 @@
|
||||
// This implementation comes with KeccakP-1600-SnP.h in the same folder.
|
||||
// Please refer to LowLevel.build for the exact list of other files it must be combined with.
|
||||
|
||||
+#include "assembler_support.h"
|
||||
+
|
||||
// INFO: Tested on Cortex-A53(odroid-c2), using gcc.
|
||||
// WARNING: These functions work only on little endian CPU with ARMv8a + NEON architecture
|
||||
// WARNING: State must be 512 bit (64 bytes) aligned.
|
||||
@@ -560,3 +562,5 @@ KeccakP1600_Permute_RoundLoop:
|
||||
KeccakP1600_Permute_Exit:
|
||||
StoreState
|
||||
ret
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/ARMv8A/sha2-256-ARMv8.S b/hash/src/asm/ARMv8A/sha2-256-ARMv8.S
|
||||
index ada570b0..1b9b23e1 100644
|
||||
--- a/hash/src/asm/ARMv8A/sha2-256-ARMv8.S
|
||||
+++ b/hash/src/asm/ARMv8A/sha2-256-ARMv8.S
|
||||
@@ -2016,3 +2016,5 @@ SYM_FUNC_ENTER(sha256_block_neon)
|
||||
add sp,sp,#16*4+2*__SIZEOF_POINTER__
|
||||
RET
|
||||
SYM_FUNC_END(sha256_block_neon)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/ARMv8A/sha2-512-ARMv8.S b/hash/src/asm/ARMv8A/sha2-512-ARMv8.S
|
||||
index 88372b41..5990ad76 100644
|
||||
--- a/hash/src/asm/ARMv8A/sha2-512-ARMv8.S
|
||||
+++ b/hash/src/asm/ARMv8A/sha2-512-ARMv8.S
|
||||
@@ -1565,3 +1565,5 @@ SYM_FUNC_ENTER(sha512_block_armv8ce)
|
||||
RET
|
||||
SYM_FUNC_END(sha512_block_armv8ce)
|
||||
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/ARMv8_2x/keccakx2_armce.S b/hash/src/asm/ARMv8_2x/keccakx2_armce.S
|
||||
index 0cf8fddb..7b4dc937 100644
|
||||
--- a/hash/src/asm/ARMv8_2x/keccakx2_armce.S
|
||||
+++ b/hash/src/asm/ARMv8_2x/keccakx2_armce.S
|
||||
@@ -195,3 +195,5 @@ loop:
|
||||
SYM_FUNC_END(keccak_f1600x2_armce)
|
||||
|
||||
#endif
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/AVX2/KeccakP-1600-AVX2.S b/hash/src/asm/AVX2/KeccakP-1600-AVX2.S
|
||||
index f59cd1b5..26f965df 100644
|
||||
--- a/hash/src/asm/AVX2/KeccakP-1600-AVX2.S
|
||||
+++ b/hash/src/asm/AVX2/KeccakP-1600-AVX2.S
|
||||
@@ -1032,3 +1032,5 @@ mask6_17:
|
||||
.quad ALLON, ALLON, 0, 0
|
||||
|
||||
.asciz "Keccak-1600 for AVX2, CRYPTOGAMS by <appro@openssl.org>"
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/AVX2/sha2-256-AVX2.S b/hash/src/asm/AVX2/sha2-256-AVX2.S
|
||||
index e79b733f..e0b77dcc 100644
|
||||
--- a/hash/src/asm/AVX2/sha2-256-AVX2.S
|
||||
+++ b/hash/src/asm/AVX2/sha2-256-AVX2.S
|
||||
@@ -5495,3 +5495,5 @@ K256:
|
||||
.long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
|
||||
.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
|
||||
.long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/AVX2/sha2-512-AVX2.S b/hash/src/asm/AVX2/sha2-512-AVX2.S
|
||||
index d4a9d931..52c77715 100644
|
||||
--- a/hash/src/asm/AVX2/sha2-512-AVX2.S
|
||||
+++ b/hash/src/asm/AVX2/sha2-512-AVX2.S
|
||||
@@ -5760,3 +5760,5 @@ K512_nodup:
|
||||
.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
|
||||
.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
|
||||
.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/AVX512/KeccakP-1600-AVX512.S b/hash/src/asm/AVX512/KeccakP-1600-AVX512.S
|
||||
index 70e8e4f7..83cc26a3 100644
|
||||
--- a/hash/src/asm/AVX512/KeccakP-1600-AVX512.S
|
||||
+++ b/hash/src/asm/AVX512/KeccakP-1600-AVX512.S
|
||||
@@ -971,3 +971,5 @@ iotas:
|
||||
.quad 0x8000000080008008
|
||||
iotas_end:
|
||||
.asciz "Keccak-1600 for AVX-512F, CRYPTOGAMS by <appro@openssl.org>"
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/riscv32/keccakf1600_asm.S b/hash/src/asm/riscv32/keccakf1600_asm.S
|
||||
index 2a1c7df6..1dc9b0d3 100644
|
||||
--- a/hash/src/asm/riscv32/keccakf1600_asm.S
|
||||
+++ b/hash/src/asm/riscv32/keccakf1600_asm.S
|
||||
@@ -540,3 +540,5 @@ SYM_FUNC_START(lc_keccakf1600_riscv)
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(lc_keccakf1600_riscv)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/riscv64/fips202_rv64im.S b/hash/src/asm/riscv64/fips202_rv64im.S
|
||||
index 8a01dcc9..13c434c2 100644
|
||||
--- a/hash/src/asm/riscv64/fips202_rv64im.S
|
||||
+++ b/hash/src/asm/riscv64/fips202_rv64im.S
|
||||
@@ -451,3 +451,5 @@ loop:
|
||||
addi sp, sp, 8*19
|
||||
RET
|
||||
SYM_FUNC_END(KeccakF1600_StatePermute_RV64ASM)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/riscv64/fips202_rv64imb.S b/hash/src/asm/riscv64/fips202_rv64imb.S
|
||||
index e17e474c..b5a87ea1 100644
|
||||
--- a/hash/src/asm/riscv64/fips202_rv64imb.S
|
||||
+++ b/hash/src/asm/riscv64/fips202_rv64imb.S
|
||||
@@ -355,3 +355,5 @@ rounds1_loop_start:
|
||||
addi sp, sp, 8*18
|
||||
RET
|
||||
SYM_FUNC_END(KeccakF1600_StatePermute_RV64ZBB)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/riscv64/sha2-256-riscv.S b/hash/src/asm/riscv64/sha2-256-riscv.S
|
||||
index 6aef4c83..75365bff 100644
|
||||
--- a/hash/src/asm/riscv64/sha2-256-riscv.S
|
||||
+++ b/hash/src/asm/riscv64/sha2-256-riscv.S
|
||||
@@ -2927,3 +2927,5 @@ K256:
|
||||
.word 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
|
||||
.string "SHA256 for RISC-V, CRYPTOGAMS by @dot-asm"
|
||||
.align 5
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/hash/src/asm/riscv64/sha2-512-riscv.S b/hash/src/asm/riscv64/sha2-512-riscv.S
|
||||
index 28735e31..3137d5bb 100644
|
||||
--- a/hash/src/asm/riscv64/sha2-512-riscv.S
|
||||
+++ b/hash/src/asm/riscv64/sha2-512-riscv.S
|
||||
@@ -3143,3 +3143,5 @@ K512:
|
||||
.dword 0x5fcb6fab3ad6faec, 0x6c44198c4a475817
|
||||
.string "SHA512 for RISC-V, CRYPTOGAMS by @dot-asm"
|
||||
.align 5
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/internal/api/assembler_support.h b/internal/api/assembler_support.h
|
||||
index de333805..7a683989 100644
|
||||
--- a/internal/api/assembler_support.h
|
||||
+++ b/internal/api/assembler_support.h
|
||||
@@ -44,6 +44,8 @@
|
||||
# define FRAME_END
|
||||
#endif
|
||||
|
||||
+# define ASM_END
|
||||
+
|
||||
# define SYM_FUNC_ENTER(name)
|
||||
|
||||
# define SYM_FUNC(name) name
|
||||
@@ -73,6 +75,7 @@
|
||||
# define ANNOTATE_INTRA_FUNCTION_CALL
|
||||
|
||||
# ifdef __APPLE__
|
||||
+# define ASM_END
|
||||
# define SYM_FUNC(name) _##name
|
||||
# define SYM_TYPE_OBJ(name)
|
||||
# define SYM_TYPE_FUNC(name)
|
||||
@@ -91,6 +94,8 @@
|
||||
|
||||
# elif (defined(__CYGWIN__) || defined(_WIN32))
|
||||
|
||||
+# define ASM_END
|
||||
+
|
||||
# define SYM_FUNC(name) name
|
||||
|
||||
# define SYM_TYPE_OBJ(name) \
|
||||
@@ -115,6 +120,34 @@
|
||||
|
||||
# else /* __APPLE__ */
|
||||
|
||||
+# if defined __ELF__ && defined __CET__
|
||||
+# ifdef __x86_64__
|
||||
+# define ASM_X86_MARK_CET_ALIGN 3
|
||||
+# else
|
||||
+# define ASM_X86_MARK_CET_ALIGN 2
|
||||
+# endif
|
||||
+# define ASM_END \
|
||||
+ .pushsection ".note.gnu.property", "a"; \
|
||||
+ .p2align ASM_X86_MARK_CET_ALIGN; \
|
||||
+ .long 1f - 0f; \
|
||||
+ .long 4f - 1f; \
|
||||
+ .long 5; \
|
||||
+0: \
|
||||
+ .asciz "GNU"; \
|
||||
+1: \
|
||||
+ .p2align ASM_X86_MARK_CET_ALIGN; \
|
||||
+ .long 0xc0000002; \
|
||||
+ .long 3f - 2f; \
|
||||
+2: \
|
||||
+ .long 3; \
|
||||
+3: \
|
||||
+ .p2align ASM_X86_MARK_CET_ALIGN; \
|
||||
+4: \
|
||||
+ .popsection
|
||||
+# else
|
||||
+# define ASM_END
|
||||
+# endif
|
||||
+
|
||||
# define SYM_FUNC(name) name
|
||||
|
||||
# define SYM_TYPE_OBJ(name) \
|
||||
diff --git a/ml-dsa/src/armv7/dilithium_ntt_armv7.S b/ml-dsa/src/armv7/dilithium_ntt_armv7.S
|
||||
index 878a2623..100eeb67 100644
|
||||
--- a/ml-dsa/src/armv7/dilithium_ntt_armv7.S
|
||||
+++ b/ml-dsa/src/armv7/dilithium_ntt_armv7.S
|
||||
@@ -589,3 +589,5 @@ inv_ntt_asm_smull_q:
|
||||
.align 2
|
||||
inv_ntt_asm_smull_64:
|
||||
.word 64
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/armv7/dilithium_pointwise_smull_armv7.S b/ml-dsa/src/armv7/dilithium_pointwise_smull_armv7.S
|
||||
index b84a7fac..dcd2706b 100644
|
||||
--- a/ml-dsa/src/armv7/dilithium_pointwise_smull_armv7.S
|
||||
+++ b/ml-dsa/src/armv7/dilithium_pointwise_smull_armv7.S
|
||||
@@ -166,3 +166,5 @@ SYM_FUNC_ENTER(armv7_poly_pointwise_acc_invmontgomery_asm_smull)
|
||||
pop.w {r4-r11, pc}
|
||||
|
||||
SYM_FUNC_END(armv7_poly_pointwise_acc_invmontgomery_asm_smull)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/armv7/dilithium_poly_armv7.S b/ml-dsa/src/armv7/dilithium_poly_armv7.S
|
||||
index e0a62a49..fa0994f2 100644
|
||||
--- a/ml-dsa/src/armv7/dilithium_poly_armv7.S
|
||||
+++ b/ml-dsa/src/armv7/dilithium_poly_armv7.S
|
||||
@@ -131,3 +131,5 @@ end:
|
||||
bx lr
|
||||
|
||||
SYM_FUNC_END(armv7_rej_uniform_asm)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/armv8/dilithium_intt_armv8.S b/ml-dsa/src/armv8/dilithium_intt_armv8.S
|
||||
index ddcae06e..1b10e466 100644
|
||||
--- a/ml-dsa/src/armv8/dilithium_intt_armv8.S
|
||||
+++ b/ml-dsa/src/armv8/dilithium_intt_armv8.S
|
||||
@@ -545,3 +545,5 @@ SYM_FUNC_ENTER(intt_SIMD_bot_armv8)
|
||||
br lr
|
||||
|
||||
SYM_FUNC_END(intt_SIMD_bot_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/armv8/dilithium_ntt_armv8.S b/ml-dsa/src/armv8/dilithium_ntt_armv8.S
|
||||
index 06fdc42a..2d89b9d8 100644
|
||||
--- a/ml-dsa/src/armv8/dilithium_ntt_armv8.S
|
||||
+++ b/ml-dsa/src/armv8/dilithium_ntt_armv8.S
|
||||
@@ -300,3 +300,5 @@ SYM_FUNC_ENTER(ntt_SIMD_bot_armv8)
|
||||
br lr
|
||||
|
||||
SYM_FUNC_END(ntt_SIMD_bot_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/armv8/dilithium_poly_armv8.S b/ml-dsa/src/armv8/dilithium_poly_armv8.S
|
||||
index 3fd814fb..fe28cda1 100644
|
||||
--- a/ml-dsa/src/armv8/dilithium_poly_armv8.S
|
||||
+++ b/ml-dsa/src/armv8/dilithium_poly_armv8.S
|
||||
@@ -918,3 +918,5 @@ SYM_FUNC_ENTER(polyvecl_pointwise_acc_montgomery_armv8)
|
||||
br lr
|
||||
|
||||
SYM_FUNC_END(polyvecl_pointwise_acc_montgomery_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/avx2/dilithium_invntt_avx2.S b/ml-dsa/src/avx2/dilithium_invntt_avx2.S
|
||||
index 893c95e9..9de0a07a 100644
|
||||
--- a/ml-dsa/src/avx2/dilithium_invntt_avx2.S
|
||||
+++ b/ml-dsa/src/avx2/dilithium_invntt_avx2.S
|
||||
@@ -238,3 +238,5 @@ levels6t7 3
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(dilithium_invntt_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/avx2/dilithium_ntt_avx2.S b/ml-dsa/src/avx2/dilithium_ntt_avx2.S
|
||||
index e9e3c520..d9c1f391 100644
|
||||
--- a/ml-dsa/src/avx2/dilithium_ntt_avx2.S
|
||||
+++ b/ml-dsa/src/avx2/dilithium_ntt_avx2.S
|
||||
@@ -196,3 +196,5 @@ levels2t7 3
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(dilithium_ntt_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/avx2/dilithium_pointwise_avx2.S b/ml-dsa/src/avx2/dilithium_pointwise_avx2.S
|
||||
index 58911a4c..bed14608 100644
|
||||
--- a/ml-dsa/src/avx2/dilithium_pointwise_avx2.S
|
||||
+++ b/ml-dsa/src/avx2/dilithium_pointwise_avx2.S
|
||||
@@ -208,3 +208,5 @@ jb _looptop2
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(dilithium_pointwise_acc_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/avx2/dilithium_shuffle_avx2.S b/ml-dsa/src/avx2/dilithium_shuffle_avx2.S
|
||||
index 5b76acbf..028a4c27 100644
|
||||
--- a/ml-dsa/src/avx2/dilithium_shuffle_avx2.S
|
||||
+++ b/ml-dsa/src/avx2/dilithium_shuffle_avx2.S
|
||||
@@ -50,3 +50,5 @@ add $256,%rdi
|
||||
nttunpack128_avx
|
||||
RET
|
||||
SYM_FUNC_END(dilithium_nttunpack_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/riscv64/ntt_8l_dualissue_plant_rv64im.S b/ml-dsa/src/riscv64/ntt_8l_dualissue_plant_rv64im.S
|
||||
index a86380b2..142764aa 100644
|
||||
--- a/ml-dsa/src/riscv64/ntt_8l_dualissue_plant_rv64im.S
|
||||
+++ b/ml-dsa/src/riscv64/ntt_8l_dualissue_plant_rv64im.S
|
||||
@@ -1168,3 +1168,5 @@ poly_reduce_rv64im_loop:
|
||||
bne a3, a0, poly_reduce_rv64im_loop
|
||||
RET
|
||||
SYM_FUNC_END(dilithium_poly_reduce_rv64im)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-dsa/src/riscv64/ntt_rvv.S b/ml-dsa/src/riscv64/ntt_rvv.S
|
||||
index 8254fca9..116a8c3b 100644
|
||||
--- a/ml-dsa/src/riscv64/ntt_rvv.S
|
||||
+++ b/ml-dsa/src/riscv64/ntt_rvv.S
|
||||
@@ -1588,3 +1588,5 @@ poly_reduce_rvv_loop:
|
||||
bnez a3, poly_reduce_rvv_loop
|
||||
RET
|
||||
SYM_FUNC_END(dilithium_poly_reduce_rvv)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv7/kyber_fastinvntt_armv7.S b/ml-kem/src/armv7/kyber_fastinvntt_armv7.S
|
||||
index 8b163a66..b3862483 100644
|
||||
--- a/ml-kem/src/armv7/kyber_fastinvntt_armv7.S
|
||||
+++ b/ml-kem/src/armv7/kyber_fastinvntt_armv7.S
|
||||
@@ -272,3 +272,5 @@ SYM_FUNC_ENTER(kyber_invntt_armv7)
|
||||
pop.w {r4-r11, pc}
|
||||
|
||||
SYM_FUNC_END(kyber_invntt_armv7)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv7/kyber_fastntt_armv7.S b/ml-kem/src/armv7/kyber_fastntt_armv7.S
|
||||
index 9b8580c9..988a4cff 100644
|
||||
--- a/ml-kem/src/armv7/kyber_fastntt_armv7.S
|
||||
+++ b/ml-kem/src/armv7/kyber_fastntt_armv7.S
|
||||
@@ -243,3 +243,5 @@ SYM_FUNC_ENTER(kyber_ntt_armv7)
|
||||
pop.w {r4-r11, pc}
|
||||
|
||||
SYM_FUNC_END(kyber_ntt_armv7)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv7/kyber_poly_armv7.S b/ml-kem/src/armv7/kyber_poly_armv7.S
|
||||
index 8810555f..08582c35 100644
|
||||
--- a/ml-kem/src/armv7/kyber_poly_armv7.S
|
||||
+++ b/ml-kem/src/armv7/kyber_poly_armv7.S
|
||||
@@ -283,3 +283,5 @@ SYM_FUNC_ENTER(kyber_basemul_armv7)
|
||||
|
||||
.unreq qinv
|
||||
SYM_FUNC_END(kyber_basemul_armv7)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_add_armv8.S b/ml-kem/src/armv8/kyber_add_armv8.S
|
||||
index c2cb39ed..487be1ff 100644
|
||||
--- a/ml-kem/src/armv8/kyber_add_armv8.S
|
||||
+++ b/ml-kem/src/armv8/kyber_add_armv8.S
|
||||
@@ -79,3 +79,5 @@ SYM_FUNC_ENTER(kyber_add_armv8)
|
||||
RET
|
||||
SYM_FUNC_END(kyber_add_armv8)
|
||||
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_basemul_armv8.S b/ml-kem/src/armv8/kyber_basemul_armv8.S
|
||||
index 7bec9b9c..4058ccac 100644
|
||||
--- a/ml-kem/src/armv8/kyber_basemul_armv8.S
|
||||
+++ b/ml-kem/src/armv8/kyber_basemul_armv8.S
|
||||
@@ -99,3 +99,5 @@ SYM_FUNC_ENTER(kyber_basemul_armv8)
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(kyber_basemul_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_cbd_armv8.S b/ml-kem/src/armv8/kyber_cbd_armv8.S
|
||||
index 28a1724f..287078a9 100644
|
||||
--- a/ml-kem/src/armv8/kyber_cbd_armv8.S
|
||||
+++ b/ml-kem/src/armv8/kyber_cbd_armv8.S
|
||||
@@ -263,3 +263,5 @@ SYM_FUNC_ENTER(kyber_cbd3_armv8)
|
||||
//
|
||||
RET
|
||||
SYM_FUNC_END(kyber_cbd3_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_inv_ntt_armv8.S b/ml-kem/src/armv8/kyber_inv_ntt_armv8.S
|
||||
index 4264445f..f0238c65 100644
|
||||
--- a/ml-kem/src/armv8/kyber_inv_ntt_armv8.S
|
||||
+++ b/ml-kem/src/armv8/kyber_inv_ntt_armv8.S
|
||||
@@ -239,3 +239,5 @@ SYM_FUNC_ENTER(kyber_inv_ntt_armv8)
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(kyber_inv_ntt_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_ntt_armv8_asm.S b/ml-kem/src/armv8/kyber_ntt_armv8_asm.S
|
||||
index ae4eb3a5..da2cbff9 100644
|
||||
--- a/ml-kem/src/armv8/kyber_ntt_armv8_asm.S
|
||||
+++ b/ml-kem/src/armv8/kyber_ntt_armv8_asm.S
|
||||
@@ -217,3 +217,5 @@ SYM_FUNC_ENTER(kyber_ntt_armv8)
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(kyber_ntt_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_poly_armv8_asm.S b/ml-kem/src/armv8/kyber_poly_armv8_asm.S
|
||||
index d9ee3819..8a9bb6ec 100644
|
||||
--- a/ml-kem/src/armv8/kyber_poly_armv8_asm.S
|
||||
+++ b/ml-kem/src/armv8/kyber_poly_armv8_asm.S
|
||||
@@ -143,3 +143,5 @@ SYM_FUNC_ENTER(kyber_poly_frombytes_armv8)
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(kyber_poly_frombytes_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/armv8/kyber_reduce_armv8.S b/ml-kem/src/armv8/kyber_reduce_armv8.S
|
||||
index 47f1b7bf..2a341b8f 100644
|
||||
--- a/ml-kem/src/armv8/kyber_reduce_armv8.S
|
||||
+++ b/ml-kem/src/armv8/kyber_reduce_armv8.S
|
||||
@@ -261,3 +261,5 @@ SYM_FUNC_ENTER(kyber_add_add_reduce_armv8)
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(kyber_add_add_reduce_armv8)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/avx2/kyber_basemul_avx2.S b/ml-kem/src/avx2/kyber_basemul_avx2.S
|
||||
index 0b81bdd3..fc1ec793 100644
|
||||
--- a/ml-kem/src/avx2/kyber_basemul_avx2.S
|
||||
+++ b/ml-kem/src/avx2/kyber_basemul_avx2.S
|
||||
@@ -106,3 +106,5 @@ mov %r8,%rsp
|
||||
RET
|
||||
SYM_FUNC_END(kyber_basemul_avx)
|
||||
STACK_FRAME_NON_STANDARD kyber_basemul_avx
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/avx2/kyber_fq_avx2.S b/ml-kem/src/avx2/kyber_fq_avx2.S
|
||||
index fa0409b5..94ff5b0e 100644
|
||||
--- a/ml-kem/src/avx2/kyber_fq_avx2.S
|
||||
+++ b/ml-kem/src/avx2/kyber_fq_avx2.S
|
||||
@@ -86,3 +86,5 @@ add $256,%rdi
|
||||
tomont128_avx
|
||||
RET
|
||||
SYM_FUNC_END(tomont_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/avx2/kyber_invntt_avx2.S b/ml-kem/src/avx2/kyber_invntt_avx2.S
|
||||
index 4090c5d7..66cc61cd 100644
|
||||
--- a/ml-kem/src/avx2/kyber_invntt_avx2.S
|
||||
+++ b/ml-kem/src/avx2/kyber_invntt_avx2.S
|
||||
@@ -193,3 +193,5 @@ intt_level6 0
|
||||
intt_level6 1
|
||||
RET
|
||||
SYM_FUNC_END(kyber_invntt_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/avx2/kyber_ntt_avx2.S b/ml-kem/src/avx2/kyber_ntt_avx2.S
|
||||
index c4962fc5..b3633613 100644
|
||||
--- a/ml-kem/src/avx2/kyber_ntt_avx2.S
|
||||
+++ b/ml-kem/src/avx2/kyber_ntt_avx2.S
|
||||
@@ -189,3 +189,5 @@ levels1t6 1
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(kyber_ntt_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/avx2/kyber_shuffle_avx2.S b/ml-kem/src/avx2/kyber_shuffle_avx2.S
|
||||
index ffb642dc..0319e129 100644
|
||||
--- a/ml-kem/src/avx2/kyber_shuffle_avx2.S
|
||||
+++ b/ml-kem/src/avx2/kyber_shuffle_avx2.S
|
||||
@@ -252,3 +252,5 @@ add $192,%rsi
|
||||
kyber_nttfrombytes128_avx
|
||||
RET
|
||||
SYM_FUNC_END(kyber_nttfrombytes_avx)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/riscv64/ntt_dualissue_plant_rv64im.S b/ml-kem/src/riscv64/ntt_dualissue_plant_rv64im.S
|
||||
index 7eab10be..f509806e 100644
|
||||
--- a/ml-kem/src/riscv64/ntt_dualissue_plant_rv64im.S
|
||||
+++ b/ml-kem/src/riscv64/ntt_dualissue_plant_rv64im.S
|
||||
@@ -1969,3 +1969,5 @@ SYM_FUNC_START(kyber_poly_toplant_rv64im)
|
||||
addi sp, sp, 8*1
|
||||
RET
|
||||
SYM_FUNC_END(kyber_poly_toplant_rv64im)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/riscv64/ntt_rvv_vlen128.S b/ml-kem/src/riscv64/ntt_rvv_vlen128.S
|
||||
index 2d3afc5d..d113d39f 100644
|
||||
--- a/ml-kem/src/riscv64/ntt_rvv_vlen128.S
|
||||
+++ b/ml-kem/src/riscv64/ntt_rvv_vlen128.S
|
||||
@@ -1196,3 +1196,5 @@ cbd3_rvv_vlen128_loop:
|
||||
bnez a4, cbd3_rvv_vlen128_loop
|
||||
RET
|
||||
SYM_FUNC_END(kyber_cbd3_rvv_vlen128)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/riscv64/ntt_rvv_vlen256.S b/ml-kem/src/riscv64/ntt_rvv_vlen256.S
|
||||
index 16b5aa2f..7f827f53 100644
|
||||
--- a/ml-kem/src/riscv64/ntt_rvv_vlen256.S
|
||||
+++ b/ml-kem/src/riscv64/ntt_rvv_vlen256.S
|
||||
@@ -1199,3 +1199,5 @@ cbd3_rvv_vlen256_loop:
|
||||
bnez a4, cbd3_rvv_vlen256_loop
|
||||
RET
|
||||
SYM_FUNC_END(kyber_cbd3_rvv_vlen256)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/ml-kem/src/riscv64/riscv_rvv_selector_test.S b/ml-kem/src/riscv64/riscv_rvv_selector_test.S
|
||||
index a420ffea..9f8aa904 100644
|
||||
--- a/ml-kem/src/riscv64/riscv_rvv_selector_test.S
|
||||
+++ b/ml-kem/src/riscv64/riscv_rvv_selector_test.S
|
||||
@@ -24,3 +24,5 @@ SYM_FUNC_START(kyber_rvv_selector)
|
||||
sext.w a0,a0
|
||||
RET
|
||||
SYM_FUNC_END(kyber_rvv_selector)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/sym/src/asm/AESNI_x86_64/aes_aesni_x86_64.S b/sym/src/asm/AESNI_x86_64/aes_aesni_x86_64.S
|
||||
index d53a97a3..a79cc977 100644
|
||||
--- a/sym/src/asm/AESNI_x86_64/aes_aesni_x86_64.S
|
||||
+++ b/sym/src/asm/AESNI_x86_64/aes_aesni_x86_64.S
|
||||
@@ -4568,3 +4568,5 @@ SYM_FUNC_END(aesni_set_encrypt_key)
|
||||
|
||||
.byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69,83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
|
||||
.align 64
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/sym/src/asm/ARMv8/aes_armv8_ce.S b/sym/src/asm/ARMv8/aes_armv8_ce.S
|
||||
index 89f61553..894645fc 100644
|
||||
--- a/sym/src/asm/ARMv8/aes_armv8_ce.S
|
||||
+++ b/sym/src/asm/ARMv8/aes_armv8_ce.S
|
||||
@@ -3215,3 +3215,5 @@ Lxts_dec_abort:
|
||||
Lxts_dec_final_abort:
|
||||
RET
|
||||
SYM_FUNC_END(aes_v8_xts_decrypt)
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/sym/src/asm/riscv64/riscv64_aes_asm.S b/sym/src/asm/riscv64/riscv64_aes_asm.S
|
||||
index 7a7ff426..4dc92bdd 100644
|
||||
--- a/sym/src/asm/riscv64/riscv64_aes_asm.S
|
||||
+++ b/sym/src/asm/riscv64/riscv64_aes_asm.S
|
||||
@@ -1900,3 +1900,5 @@ AES_rcon:
|
||||
.word 0x00000001U, 0x00000002U, 0x00000004U, 0x00000008U
|
||||
.word 0x00000010U, 0x00000020U, 0x00000040U, 0x00000080U
|
||||
.word 0x0000001BU, 0x00000036U
|
||||
+
|
||||
+ASM_END
|
||||
diff --git a/sym/src/asm/riscv64/riscv64_aes_zkn_asm.S b/sym/src/asm/riscv64/riscv64_aes_zkn_asm.S
|
||||
index 2d8eac75..4f9f887d 100644
|
||||
--- a/sym/src/asm/riscv64/riscv64_aes_zkn_asm.S
|
||||
+++ b/sym/src/asm/riscv64/riscv64_aes_zkn_asm.S
|
||||
@@ -732,3 +732,5 @@ rv64i_zknd_set_decrypt_key:
|
||||
ld x8,0(sp)
|
||||
addi sp,sp,16
|
||||
RET
|
||||
+
|
||||
+ASM_END
|
||||
--
|
||||
2.48.1
|
||||
|
Loading…
Reference in New Issue
Block a user