| Index: third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S
|
| diff --git a/third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S b/third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S
|
| index 45d8bd594f73a511b64dec033f4b3391c8b8ba94..1889fc701ac0947a29b8c4d26d4a060f86ca4064 100644
|
| --- a/third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S
|
| +++ b/third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S
|
| @@ -1,4 +1,3 @@
|
| -#if defined(__arm__)
|
| #include "arm_arch.h"
|
| #ifdef __ARMEL__
|
| # define LO 0
|
| @@ -56,17 +55,20 @@ WORD64(0x3c9ebe0a,0x15c9bebc, 0x431d67c4,0x9c100d4c)
|
| WORD64(0x4cc5d4be,0xcb3e42b6, 0x597f299c,0xfc657e2a)
|
| WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817)
|
| .size K512,.-K512
|
| +#if __ARM_MAX_ARCH__>=7
|
| .LOPENSSL_armcap:
|
| .word OPENSSL_armcap_P-sha512_block_data_order
|
| .skip 32-4
|
| +#else
|
| +.skip 32
|
| +#endif
|
|
|
| .global sha512_block_data_order
|
| -.hidden sha512_block_data_order
|
| .type sha512_block_data_order,%function
|
| sha512_block_data_order:
|
| sub r3,pc,#8 @ sha512_block_data_order
|
| add r2,r1,r2,lsl#7 @ len to point at the end of inp
|
| -#if __ARM_ARCH__>=7
|
| +#if __ARM_MAX_ARCH__>=7
|
| ldr r12,.LOPENSSL_armcap
|
| ldr r12,[r3,r12] @ OPENSSL_armcap_P
|
| tst r12,#1
|
| @@ -439,7 +441,8 @@ sha512_block_data_order:
|
| moveq pc,lr @ be binary compatible with V4, yet
|
| .word 0xe12fff1e @ interoperable with Thumb ISA:-)
|
| #endif
|
| -#if __ARM_ARCH__>=7
|
| +#if __ARM_MAX_ARCH__>=7
|
| +.arch armv7-a
|
| .fpu neon
|
|
|
| .align 4
|
| @@ -1762,11 +1765,11 @@ sha512_block_data_order:
|
| bne .Loop_neon
|
|
|
| vldmia sp!,{d8-d15} @ epilogue
|
| - .word 0xe12fff1e
|
| + bx lr @ .word 0xe12fff1e
|
| #endif
|
| .size sha512_block_data_order,.-sha512_block_data_order
|
| .asciz "SHA512 block transform for ARMv4/NEON, CRYPTOGAMS by <appro@openssl.org>"
|
| .align 2
|
| +#if __ARM_MAX_ARCH__>=7
|
| .comm OPENSSL_armcap_P,4,4
|
| -
|
| #endif
|
|
|