From 041e4dd5e240b635f339b864c4f5bfa164d06246 Mon Sep 17 00:00:00 2001 From: Adam Langley Date: Sat, 18 Apr 2015 12:07:41 -0700 Subject: [PATCH] Fix ARM Clang build. The immediate in this operation is too large for ARM. GCC will automatically rewrite it to use bic (where bic does an AND NOT). Clang, however doesn't, and reasonably throws an error. This change switches to using bic in the source file, thus making both happy. Change-Id: I958fa29b88bffeab20c6ee11660736222a2e6986 Reviewed-on: https://boringssl-review.googlesource.com/4410 Reviewed-by: David Benjamin Reviewed-by: Adam Langley --- crypto/poly1305/poly1305_arm_asm.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/poly1305/poly1305_arm_asm.S b/crypto/poly1305/poly1305_arm_asm.S index 9d874136..e16f83bd 100644 --- a/crypto/poly1305/poly1305_arm_asm.S +++ b/crypto/poly1305/poly1305_arm_asm.S @@ -160,7 +160,7 @@ openssl_poly1305_neon2_blocks: vpush {q4,q5,q6,q7} mov r12,sp sub sp,sp,#192 -and sp,sp,#0xffffffe0 +bic sp,sp,#31 # qhasm: len = input_3 # asm 1: mov >len=int32#4,