diff options
Diffstat (limited to 'third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S')
-rw-r--r-- | third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S b/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S index 6e09f69a..a4f170ec 100644 --- a/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S +++ b/third_party/boringssl/linux-aarch64/crypto/fipsmodule/sha256-armv8.S @@ -59,11 +59,13 @@ .text +.hidden OPENSSL_armcap_P .globl sha256_block_data_order .hidden sha256_block_data_order .type sha256_block_data_order,%function .align 6 sha256_block_data_order: + AARCH64_VALID_CALL_TARGET #ifndef __KERNEL__ #if __has_feature(hwaddress_sanitizer) && __clang_major__ >= 10 adrp x16,:pg_hi21_nc:OPENSSL_armcap_P @@ -74,6 +76,7 @@ sha256_block_data_order: tst w16,#ARMV8_SHA256 b.ne .Lv8_entry #endif + AARCH64_SIGN_LINK_REGISTER stp x29,x30,[sp,#-128]! add x29,sp,#0 @@ -1034,6 +1037,7 @@ sha256_block_data_order: ldp x25,x26,[x29,#64] ldp x27,x28,[x29,#80] ldp x29,x30,[sp],#128 + AARCH64_VALIDATE_LINK_REGISTER ret .size sha256_block_data_order,.-sha256_block_data_order @@ -1068,6 +1072,7 @@ sha256_block_data_order: .align 6 sha256_block_armv8: .Lv8_entry: + // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later. stp x29,x30,[sp,#-16]! add x29,sp,#0 @@ -1204,10 +1209,6 @@ sha256_block_armv8: ret .size sha256_block_armv8,.-sha256_block_armv8 #endif -#ifndef __KERNEL__ -.comm OPENSSL_armcap_P,4,4 -.hidden OPENSSL_armcap_P -#endif #endif #endif // !OPENSSL_NO_ASM .section .note.GNU-stack,"",%progbits |